在标准 SQL/BigQuery 中将 YYYYMMDD 字符串转换为日期

hel*_*rld 5 google-bigquery

我有一个名为“日期”的列,其中包含以这种方式格式化的日期:“20150101”。

我尝试使用 sql 子字符串,但是当我在 sql 中使用“日期”函数运行查询时,它不适用于我拥有的日期格式。

这是我提出的查询:

SELECT (DATE ((SUBSTR(JOUR, 1, 4), 
               SUBSTR(JOUR, 5, 2), 
               SUBSTR(JOUR, 7, 2)))) As date 
FROM TABLE
Run Code Online (Sandbox Code Playgroud)

任何的想法?我找不到与此日期格式类似的内容!我发现一个使用 convert 函数,但它不在 StandardSQL 或 BigQuery 中

dan*_*era 11

PARSE_DATE怎么样?

SELECT PARSE_DATE("%Y%m%d", "20190101") as parsed;
Run Code Online (Sandbox Code Playgroud)

对于您的桌子:

SELECT PARSE_DATE ("%Y%m%d", JOUR) As mydatecolumn from TABLE
Run Code Online (Sandbox Code Playgroud)