如何在BigQuery中将YYYYMMDD转换为YYYY-MM-DDT00:00:00 + 00:00?

时间:2016-05-26 16:29:02

标签: regex date google-bigquery

我在"标准SQL"中添加了一个日期列。格式(YYYYMMDD),但我需要它采用CartoDB接受的格式(YYYY-MM-DDT00:00:00 + 00:00)。

我最初的想法是BQ的功能类似于to_datetime(变量,格式),但它似乎没有。

我的第二个想法是我应该使用正则表达式,但BQ使用RE2。我没有使用RE2的经验,也无法解析文档。有更多RE2经验的人可以帮助我,或者推荐一种不同的方法吗?

1 个答案:

答案 0 :(得分:4)

请尝试以下
BigQuery旧版SQL

SELECT
  x,
  STRFTIME_UTC_USEC(x, '%Y-%m-%d') + 'T00:00:00+00:00' AS y
FROM
(SELECT '20160526' AS x)

BigQuery标准SQL

SELECT
  x,
  FORMAT_TIMESTAMP("%Y-%m-%d %H:%M:%E6S%z", PARSE_TIMESTAMP("%Y%m%d", x )) AS y
FROM
(SELECT '20160526' AS x)