Google bigquery 如何强制转换/替换嵌套表以从浮点更改为数字
问题:我有嵌套表,但现在我需要将一些列的格式从FLOAT改为NUMERIC,解决这个问题的最佳方法是什么 这是我尝试过的(迄今为止最好的主意) 但这仍然不起作用,因为它只是创建了一个字段-Google bigquery 如何强制转换/替换嵌套表以从浮点更改为数字,google-bigquery,Google Bigquery,问题:我有嵌套表,但现在我需要将一些列的格式从FLOAT改为NUMERIC,解决这个问题的最佳方法是什么 这是我尝试过的(迄今为止最好的主意) 但这仍然不起作用,因为它只是创建了一个字段-VAT 也可以这样做:但它将替换值,而不是嵌套表中的值 SELECT D.* REPLACE(CAST(UOL.VAT AS NUMERIC) AS VAT) FROM D, UNNEST(OrderLines) AS UOL 您可以直接在内部执行aliasselect as struct SELECT *
VAT
也可以这样做:但它将替换值,而不是嵌套表中的值
SELECT D.*
REPLACE(CAST(UOL.VAT AS NUMERIC) AS VAT)
FROM D, UNNEST(OrderLines) AS UOL
您可以直接在内部执行aliasselect as struct
SELECT * EXCEPT(OrderLines),
ARRAY(SELECT AS STRUCT CAST(OL.VAT AS NUMERIC) AS VAT FROM UNNEST(OrderLines) OL) AS OrderLines
基本上,这就是答案
SELECT * REPLACE(ARRAY(SELECT AS STRUCT * REPLACE(CAST(VATAS NUMERIC) AS VAT) FROM UNNEST(OrderLines) ol) AS OrderLines)
FROM A
SELECT * REPLACE(ARRAY(SELECT AS STRUCT * REPLACE(CAST(VATAS NUMERIC) AS VAT) FROM UNNEST(OrderLines) ol) AS OrderLines)
FROM A