Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/53.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,问题:我有嵌套表,但现在我需要将一些列的格式从FLOAT改为NUMERIC,解决这个问题的最佳方法是什么 这是我尝试过的(迄今为止最好的主意) 但这仍然不起作用,因为它只是创建了一个字段-VAT 也可以这样做:但它将替换值,而不是嵌套表中的值 SELECT D.* REPLACE(CAST(UOL.VAT AS NUMERIC) AS VAT) FROM D, UNNEST(OrderLines) AS UOL 您可以直接在内部执行aliasselect as struct SELECT *

问题:我有嵌套表,但现在我需要将一些列的格式从FLOAT改为NUMERIC,解决这个问题的最佳方法是什么

这是我尝试过的(迄今为止最好的主意)

但这仍然不起作用,因为它只是创建了一个字段-
VAT

也可以这样做:但它将替换值,而不是嵌套表中的值

SELECT D.*
REPLACE(CAST(UOL.VAT AS NUMERIC) AS VAT)
FROM D, UNNEST(OrderLines) AS UOL

您可以直接在内部执行alias
select 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