Bigquery-插入

问题描述 投票:0回答:1

尝试此 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将数据插入到最终表中。

google-bigquery insert numeric
1个回答
0
投票

我能想到的最接近的解决方案是更改表的架构以匹配两个表的数据类型。

您可以从 BQ 文档中看到参考here

© www.soinside.com 2019 - 2024. All rights reserved.