【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

以上になります。
お読み頂き、ありがとうございました。