在BigQuery中将字符串转换为日期的最佳方法是什么?

时间:2019-12-05 09:12:43

标签: google-bigquery sql-date-functions

我目前正在做这样的事情:

SELECT DATE(
  CAST(SUBSTR('20191024',1,4) AS INT64),
  CAST(SUBSTR('20191024',5,2) AS INT64),
  CAST(SUBSTR('20191024',7,2) AS INT64)
  );

还有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

related question about INT to DATE这样,答案是像这样使用PARSE_DATE()

SELECT PARSE_DATE('%Y%m%d','20191024');

formatting string的含义是:

  1. %Y以世纪作为十进制数字的年份。
  2. %m以十进制数字表示的月份(01-12)。
  3. %d是十进制数字(01-31)的月份。

P.S。键入所有内容后,我发现了另一个项目:SQL convert yyyymmdd to timestamp in BigQuery?,但是在问答中有太多无关的代码。