【发布时间】:2019-06-14 20:46:01
【问题描述】:
我在 BigQuery 表中有一个字段,它是一个字符串,但实际上是一个时间戳,格式为“2019-06-14T11:31:07”。所以我使用 CAST(sign_up_date AS TIMESTAMP) 转换为可用的 TIMESTAMP。
这在旧版 SQL 中完美运行,但是在标准 SQL 中,当 STRING 的格式为“2019-06-14T09:09”(准确的分钟,缺少“:00”)或“ 2019-05-25T05:31:22.7263555"(有时它们会以十进制秒数表示)。
知道如何让它在标准 SQL 中工作吗?显然我可以只使用 Legacy SQL,但我想用 Standard 编写,因为在该 SQL 中还有其他更好的函数。
谢谢,
本吉
【问题讨论】:
-
使用
parse_timestamp()而不是cast()。 -
感谢 Gordon,但这不适用于所有数据类型,因为其中一些与上面不完全相同,因此表示无法解析“2016-08-15 13:23: 00”或“2016-08-15 13:23:00+00”。有什么想法吗?
标签: sql google-bigquery