我有一个源表,其日期以字符串格式存储,如下所示:
1984-10-28 00:00:00
1988-11-22 00:00:00
1990-01-08 00:00:00
1983-06-22 00:00:00
Run Code Online (Sandbox Code Playgroud)
然后创建一个表test1如下:
mk -t xyz.test birthdate:timestamp
Run Code Online (Sandbox Code Playgroud)
当我编写一个查询来将所有日期从源表转换为时间戳并将其保存到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
Run Code Online (Sandbox Code Playgroud)
如果我做错了,请帮忙
use*_*161 10
没关系.我找到了.我忽略了bigquery的查询参考文档的一个重要部分.
TIMESTAMP()
将日期字符串转换为TIMESTAMP数据类型.
SELECT TIMESTAMP("2012-10-01 01:02:03");
返回时间:2012-10-01 01:02:03 UTC
所以正确的查询如下:SELECT TIMESTAMP(birthdate)AS birthdate FROM [sourcetable] LIMIT 10
| 归档时间: |
|
| 查看次数: |
17684 次 |
| 最近记录: |