字符串到日期时间转换Bigquery

时间:2014-04-24 21:36:18

标签: google-bigquery

我有一个源表,其日期以字符串格式存储,如下所示:

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

如果我做错了,请帮忙

2 个答案:

答案 0 :(得分:10)

没关系。我找到了。我忽略了bigquery查询参考文档的重要部分。

TIMESTAMP()
将日期字符串转换为TIMESTAMP数据类型。

SELECT TIMESTAMP(" 2012-10-01 01:02:03");

返回时间:2012-10-01 01:02:03 UTC

所以正确的查询如下: SELECT TIMESTAMP(生日)AS生日日期来自[sourcetable] LIMIT 10

答案 1 :(得分:0)

您正在运行一个更新表格的查询?你在用WRITE_TRUNCATE吗?如果没有,您最终将使用不同的架构附加到表中。

相关问题