我在"标准SQL"中添加了一个日期列。格式(YYYYMMDD),但我需要它采用CartoDB接受的格式(YYYY-MM-DDT00:00:00 + 00:00)。
我最初的想法是BQ的功能类似于to_datetime(变量,格式),但它似乎没有。
我的第二个想法是我应该使用正则表达式,但BQ使用RE2。我没有使用RE2的经验,也无法解析文档。有更多RE2经验的人可以帮助我,或者推荐一种不同的方法吗?
答案 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)