如何在 BigQuery Standard SQL 中将 YYYY-MM-DD 格式的日期转换为每月的第一天?
问问题
7119 次
2 回答
12
使用DATE_TRUNC
:
#standardSQL
SELECT DATE_TRUNC('2017-02-17', MONTH);
或者,对于一个更有趣的例子,输入是以下格式的字符串YYYY-MM-DD
:
#standardSQL
SELECT DATE_TRUNC(CAST(s AS DATE), MONTH)
FROM (
SELECT '2017-02-17' AS s UNION ALL
SELECT '2017-02-14' AS s
);
于 2017-02-17T22:47:13.497 回答
0
如果输入是字符串,您可以进行字符串操作而不是放入 DATE 类型,这里有几种可能性:
#standardSQL
SELECT
REGEXP_REPLACE(s, r'({\d}4-{\d}2)-{\d}2', '\\1-01'),
CONCAT(SUBSTR(s, 0, 7), '-01')
FROM (
SELECT '2017-02-17' AS s UNION ALL
SELECT '2017-02-14' AS s UNION ALL
SELECT '1985-08-31' AS s
);
于 2017-02-19T02:11:54.630 回答