提问人:Kyle Kulinski 提问时间:7/6/2023 最后编辑:Kyle Kulinski 更新时间:7/6/2023 访问量:40
是否可以在BigQuery SQL中将整个列的整数值上传/修改为字符串值?
Possible to upload / modify integer values for an entire column to string values in BigQuery SQL?
问:
我正在处理许多数据表,几个月后,其中一列的值中现在有字母而不仅仅是整数。这很不方便,因为前 8 个月被自动检测为整数,而其余数据在特定列中具有字符串值。当我尝试创建一个全面的数据表时,我无法联接两组数据,因为列不兼容。我想使用字符串或整数,但我宁愿不要省略字母值,因为它们是唯一标识符。
例如
包含整数的数据集:
column name : start_station_id
628
628
628
...
包含字符串的数据集:
start_station_id:
624
TA1306000029
TA1306000029
TA1308000043
...
最终数据表示例:
尝试使用时收到的错误
INSERT INTO divvy-bike-data-391804.Divvy_bike_data_2.Total_Data
SELECT * FROM Divvy_bike_data_2.A202012
是
“查询列 6 的类型为 STRING,无法插入到第 start_station_id 列中,该列的类型为 INT64 在 [2:5]”
理想情况下,我想对整个列执行此操作,并且有数十万行。理想情况下,可以对同一查询中的多个列执行此操作。您能想到一个简单的解决方法吗?我提前感谢任何帮助!
对不起,我是 SQL 的新手,所以一些看起来很容易的东西可能就在我眼前,我似乎找不到合适的方法。
最好
凯尔
我尝试过 concat 函数,尝试添加一个字母来形成一个字符串,cast 函数,我考虑过添加另一列,其中包含所有特定字母以尝试加入。
答:
0赞
Lara19
7/6/2023
#1
您需要将start_station_id转换为字符串:
INSERT INTO divvy-bike-data-391804.Divvy_bike_data_2.Total_Data
SELECT A, B, C, Cast(start_station_id as STRING) as start_station_id FROM Divvy_bike_data_2.A202012
并确保Total_Data中的start_station_id也是字符串类型
评论