【BigQuery】日付・時刻の取得・計算まとめ

BigQueryの日付・時刻の取得やフォーマット、計算の使い方をまとめました。
内容は随時追加していきます。
目次
日付・時刻を取得/生成する
現在日付
SELECT
CURRENT_DATE -- 例)2025-04-09
数字から日付を生成する
SELECT
DATE(2025, 6, 12) -- 2025-06-12
文字列から日付を生成する
SELECT
DATE('2025-04-01') -- 2025-04-01
なお、明示的に型変換してあげなくても、日付系関数では文字列を日付型として処理してくれたりします。
○○を取得する/フォーマット
年
SELECT
FORMAT_DATE('%Y', '2025-05-17') -- 2025
月
SELECT
FORMAT_DATE('%m', '2025-05-17') -- 05
日付の加算・減算
n日後・n日前
SELECT
DATE('2025-04-01') + 1, -- 2025-04-02
DATE('2025-04-01') - 1 -- 2025-03-31
DATE_ADD関数、DATE_SUB関数を使った書き方もできます。
SELECT
DATE_ADD('2025-04-01', INTERVAL 1 DAY), -- 2025-04-02
DATE_SUB('2025-04-01', INTERVAL 1 DAY) -- 2025-03-31
月の初日を取得
SELECT
DATE_TRUNC('2025-06-15', MONTH) -- 2025-06-01
年の初日を取得
SELECT
DATE_TRUNC('2025-06-15', YEAR) -- 2025-01-01
日数の間隔を計算(日数・月数計算)
日数計算
SELECT
DATE_DIFF('2025-01-31', '2025-01-01', DAY) -- 30
月数計算
SELECT
DATE_DIFF('2025-02-01', '2025-01-01', MONTH) -- 1
以上になります。
お読み頂き、ありがとうございました。