我有一个源表,其中的日期以字符串格式存储,如下所示:
1984-10-28 00:00:00
1988-11-22 00:00:00
1990-01-08 00:00:00
1983-06-22 00:00:00
然后创建一个表 test1 如下:
mk -t xyz.test birthdate:timestamp
当我编写查询以将所有日期从源表转换为时间戳并将其保存到 test1 时,它给出了一个错误:
SELECT FORMAT_UTC_USEC(birthdate) AS birthdate FROM [sourcetable] LIMIT 10
Error: Invalid schema update. Field birthdate has changed type
Job ID: [Project]:job_5P4gFVl4wiYuyXL0vY5VZNtCZOU
如果我做错了什么,请帮忙
最佳答案
没关系。我找到了。我忽略了 bigquery 查询引用文档的很大一部分。
时间戳()
将日期字符串转换为 TIMESTAMP 数据类型。
选择时间戳("2012-10-01 01:02:03");
返回:2012-10-01 01:02:03 UTC
所以正确的查询如下:
SELECT TIMESTAMP(birthdate) ASbirthdate FROM [sourcetable] LIMIT 10
关于google-bigquery - 字符串到日期时间的转换 Bigquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23280332/