如何在谷歌大查询中将格式yyyymmdd
的int64
转换为DateTime
?
我的目标列是TIMESTAMP
。
使用parse_timestamp()
并将值转换为字符串:
select parse_timestamp('%Y%m%d', cast(20100101 as string))
您还可以使用parse_date()
和parse_datetime()
如果这些是目标类型。
不需要字符串构造和解析的替代解决方案是使用DATE
(或DATETIME
(构造函数,如果需要,可以在以后CAST
TIMESTAMP
:
SELECT
DATE(DIV(x,10000), DIV(MOD(x, 10000), 100), MOD(x, 100))
FROM UNNEST([19980201, 20101223]) x