【BigQuery】時間を進めたいならDATETIME_DATE関数を使おう!使い方について紹介

クラウドプラットフォーム

「指定した数値分だけ時間を進めたい」
そんなときはDATETIME_ADD関数を使いましょう。

今回はDATETIME_ADD関数の使い方についてご紹介します。

DATETIME_ADD関数の書き方

DATETIME_ADD関数はこのように書きます。

DATETIME_ADD(DATETIME型データ, INTERVAL 進め方時間(int型) 単位(SECOND, MINUTEなど))

主に使う単位はこちらでしょう。

  • SECOND(秒)
  • MINUTE(分)
  • HOUR(時間)
  • DAY(日)
  • WEEK(週)
  • MONTH(月)
  • YEAR(年)

他にも使える単位はあるので詳しくは公式リファレンスをご確認ください。

Datetime functions  |  BigQuery  |  Google Cloud

では早速使ってみましょう!

DATETIME_ADD関数を使ってみる

ここに2023年1月1日 0時0分0秒がありました。

これを単位ごとに10だけ進めてみましょう。

クリックして拡大できます
SELECT
  DATETIME_ADD(DATETIME('2023-01-01 00:00:00'), INTERVAL 10 SECOND) AS `+10second`,
  DATETIME_ADD(DATETIME('2023-01-01 00:00:00'), INTERVAL 10 MINUTE) AS `+10minute`,
  DATETIME_ADD(DATETIME('2023-01-01 00:00:00'), INTERVAL 10 HOUR) AS `+10hour`,
  DATETIME_ADD(DATETIME('2023-01-01 00:00:00'), INTERVAL 10 DAY) AS `+10day`,
  DATETIME_ADD(DATETIME('2023-01-01 00:00:00'), INTERVAL 10 WEEK) AS `+10week`,
  DATETIME_ADD(DATETIME('2023-01-01 00:00:00'), INTERVAL 10 MONTH) AS `+10month`,
  DATETIME_ADD(DATETIME('2023-01-01 00:00:00'), INTERVAL 10 YEAR) AS `+10year`

2023年1月1日 0時0分0秒をそれぞれ指定した単位で10だけ進められました。

例えば「+10day」だと出力結果が2023年1月10日になっていますよね。
単位を使えるだけで時間が進められるので使うのが結構簡単でした!

まとめ

DATETIME_ADD関数を使えば指定した単位と数値の分だけ時間を進められます。

実務で使うとすれば、開始時間と使用時間は分かっているのに「終了時間」が分からないときなど使えますね!

是非これを機会にマスターしましょう!