Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google bigquery 你能重复施放一个场而不让人感到不安吗?_Google Bigquery - Fatal编程技术网

Google bigquery 你能重复施放一个场而不让人感到不安吗?

Google bigquery 你能重复施放一个场而不让人感到不安吗?,google-bigquery,Google Bigquery,设想一个名为orders的表,其中包含一个名为items的重复嵌套字段。此字段是一个结构数组,其中结构包含一个字段“单价”。是否有一种方法可以将该字段从字符串强制转换为浮点值,而不会像我目前所做的那样取消检测/聚合 在本例中,我将转换通过ETL作业创建的表。ETL作业并不总是获得正确的数据类型,所以有时我需要在重复记录中强制转换字段 以下是我目前的做法: SELECT ARRAY ( SELECT AS STRUCT CAST(unit_price AS FLOAT64)

设想一个名为orders的表,其中包含一个名为items的重复嵌套字段。此字段是一个结构数组,其中结构包含一个字段“单价”。是否有一种方法可以将该字段从字符串强制转换为浮点值,而不会像我目前所做的那样取消检测/聚合

在本例中,我将转换通过ETL作业创建的表。ETL作业并不总是获得正确的数据类型,所以有时我需要在重复记录中强制转换字段

以下是我目前的做法:

SELECT
  ARRAY
  (
    SELECT AS STRUCT
    CAST(unit_price AS FLOAT64) AS unit_price
    FROM UNNEST(items)
  ) AS items
FROM orders

不能将重复的字段/数组强制转换为不同类型的数组 因此,将数组转换为数组将不起作用

我想,你现在所做的就是要走的路

注意:如果您要将物品名称从单价改为物品价格,下面简单的铸造就可以了

#standardSQL
SELECT CAST(items AS ARRAY<STRUCT<item_price STRING>>) items
FROM `project.dataset.orders`

不能将重复的字段/数组强制转换为不同类型的数组 因此,将数组转换为数组将不起作用

我想,你现在所做的就是要走的路

注意:如果您要将物品名称从单价改为物品价格,下面简单的铸造就可以了

#standardSQL
SELECT CAST(items AS ARRAY<STRUCT<item_price STRING>>) items
FROM `project.dataset.orders`

如果你能解释原因-这可以帮助我们帮助你:编辑是为了增加动力。但是为什么不在你目前的方法中使用unesting呢?有什么具体原因吗?啊!只是想知道有没有更简单的方法。。。也不确定“不耐烦”是否对绩效有影响。如果你能解释原因-这可以帮助我们帮助你:编辑是为了增加动机。但为什么不在你当前的方法中使用“不耐烦”?有什么具体原因吗?啊!只是想知道有没有更简单的方法。。。而且不确定不必要的测试是否对性能有影响。