我目前正在做这样的事情:
SELECT DATE(
CAST(SUBSTR('20191024',1,4) AS INT64),
CAST(SUBSTR('20191024',5,2) AS INT64),
CAST(SUBSTR('20191024',7,2) AS INT64)
);
还有更好的方法吗?
答案 0 :(得分:1)
像related question about INT to DATE这样,答案是像这样使用PARSE_DATE()
:
SELECT PARSE_DATE('%Y%m%d','20191024');
formatting string的含义是:
%Y
以世纪作为十进制数字的年份。%m
以十进制数字表示的月份(01-12)。%d
是十进制数字(01-31)的月份。P.S。键入所有内容后,我发现了另一个项目:SQL convert yyyymmdd to timestamp in BigQuery?,但是在问答中有太多无关的代码。