我想在 BigQuery 中每個月的第 20 天到第 25 天都有一個范圍,但我不知道應該使用什么語法。例如:1 月 20 日 - 25 日 2 月 20 日 - 25 日等等
我只能考慮為每個月創建一個 CTE,然后將所有這些聯合起來。
uj5u.com熱心網友回復:
考慮下面的查詢。
SELECT DATE_ADD(month, INTERVAL day - 1 DAY) date_range,
FROM UNNEST(GENERATE_DATE_ARRAY('2022-01-01', '2022-03-01', INTERVAL 1 MONTH)) month,
UNNEST(GENERATE_ARRAY(20, 25)) day;
查詢結果

下面似乎比我原來的答案更簡單,您可以通過在 WHERE 子句上指定條件來調整日期范圍。
SELECT *
FROM UNNEST(GENERATE_DATE_ARRAY('2022-01-01', '2022-12-31', INTERVAL 1 DAY)) date_range
WHERE EXTRACT(DAY FROM date_range) BETWEEN 21 AND 25
對于您評論的用例,
WHERE EXTRACT(DAY FROM date_range) >= 21 或 EXTRACT(DAY FROM date_range) = 1
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/522201.html
標籤:Google Cloud Collective 日期谷歌大查询范围
下一篇:Excel中兩個日期相減
