String 无法在选择上使用强制转换为记录
我有一个包含两列的简单表:Col1和Col2String 无法在选择上使用强制转换为记录,string,casting,google-bigquery,String,Casting,Google Bigquery,我有一个包含两列的简单表:Col1和Col2 sh-3.2# ./bq show --schema dataset.Test [{"type":"STRING","name":"Col1","mode":"NULLABLE"},{"type":"STRING","name":"Col2","mode":"NULLABLE"}] 这个查询很好用 SELECT * EXCEPT (Col2) , CAST(Col2 AS NUMERIC) AS Col2 FROM `project.dataset
sh-3.2# ./bq show --schema dataset.Test
[{"type":"STRING","name":"Col1","mode":"NULLABLE"},{"type":"STRING","name":"Col2","mode":"NULLABLE"}]
这个查询很好用
SELECT * EXCEPT (Col2) , CAST(Col2 AS NUMERIC) AS Col2 FROM `project.dataset.Test` LIMIT 1000
此查询返回一个错误
SELECT * EXCEPT (Col2) , CAST(Col2 AS RECORD) AS Col2 FROM `project.dataset.Test` LIMIT 1000
你知道为什么吗
我正在尝试使用WebUI中出现的关键字记录
BigQuery转换规则不允许您从字符串转换为记录(也称为结构) 您必须自己在查询中组合结构。大概是这样的:
SELECT
* EXCEPT (Col2),
STRUCT( Col2 as inner_Col2) as my_inner_record
FROM `project.dataset.Test` LIMIT 1000
BigQuery转换规则不允许您从字符串转换为记录(也称为结构) 您必须自己在查询中组合结构。大概是这样的:
SELECT
* EXCEPT (Col2),
STRUCT( Col2 as inner_Col2) as my_inner_record
FROM `project.dataset.Test` LIMIT 1000
您在哪里看到记录?我在WebUI中看到记录,当尝试添加新模式[{“mode”:“NULLABLE”,“name”:“,“type”:“RECORD”}]时,也许我应该在运行DML时使用数组或其他关键字?您能更新您的问题以显示输入数据是什么以及预期的输出是什么吗?很难说你希望达到什么目的。@ElliottBrossard问题会用一个图像更新,你的预期输出是什么?您不能将记录用作类型名称。。。这是STRUCT的另一个名称,由字段名及其类型参数化。您在哪里看到记录?我在尝试添加新架构时在WebUI中看到记录[{“mode”:“NULLABLE”,“name”:“,”type:“RECORD”}]也许我应该在运行DML时使用数组或其他关键字?您能更新您的问题以显示您的输入数据是什么以及您的预期输出是什么吗?很难说你希望达到什么目的。@ElliottBrossard问题会用一个图像更新,你的预期输出是什么?您不能将记录用作类型名称。。。它是STRUCT的另一个名称,由字段名及其类型参数化。