尝试此 SQL 时出现以下错误:
INSERT INTO xxxx.Dxxxx.tbl_cluster_data
WITH source1 as (
SELECT string_field_0,string_field_1, double_field_2, double_field_3,double_field_4
FROM xxxx.xxxx.tbl_temptable
WHERE NOT string_field_0 IN ('ABCD','FQ')
)
SELECT *
FROM source1
错误:
查询列 3 的类型为 FLOAT64,无法插入到列 XXXXX 中,该列的类型为 NUMERIC
架构:
Field name Type MODE
double_field_2 FLOAT NULLABLE
我已经尝试创建表(tbl_cluster_data)我想要插入不同数据类型的数据无济于事。
当我将数据从云存储加载到我的 temptable 中时,第 3 列作为 FLOAT64 出现
我在用
CREATE OR REPLACE EXTERNAL TABLE xxxx.xxxx.temptable
OPTIONS (
format = 'CSV',
uris =['xxxx']
);
我可以将 FLOAT64 导入到什么数据类型? 有没有办法控制从 csv 文件导入到 temptable 中的数据类型?
我尝试更改列的数据类型,我希望将数据导入到不同的数据类型,如 NUMERIC、BIGNUMERIC。
我厌倦了将我的最终表列类型更改为 FLOAT,这显然在创建语句中是不可能的。
我想用我需要的列名和数据类型创建一个最终表,我想使用temptable将数据插入到最终表中。
我能想到的最接近的解决方案是更改表的架构以匹配两个表的数据类型。
您可以从 BQ 文档中看到参考here。