LoginSignup
0
0

More than 5 years have passed since last update.

biqquery で日付跨いで select したい

Last updated at Posted at 2018-03-22

日付別にテーブルを作ってデータを入れている場合に、
1日分集計したいけど、1日の切り替わりが 0時じゃ無い時とかに...

SELECT * FROM
(TABLE_DATE_RANGE([prefix]_,TIMESTAMP('[Y-m-d]'), TIMESTAMP('[Y-m-d]')))
where
createdAt >= DATE_ADD(TIMESTAMP("[Y-m-d H:i:s]"), -9, "HOUR") and
createdAt <= DATE_ADD(TIMESTAMP("[Y-m-d H:i:s]"), -9, "HOUR");

  • TABLE_DATE_RANGE
    • 第二引数に開始年月日、第三引数に終了年月日を入れて範囲を設定。
      • タイムスタンプに変換する必要があるため、TIMESTAMP 通してます。
    • 第一引数は、テーブル名にあたります。
    • hoge_2018-3-23 〜 hoge_2018-3-24みたいなテーブル指定になります...
  • createdAt について
    • DATE_ADD を通し -9時間しているのは、bigquery は UTC で insert されるためです。
    • 時間指定自体は日本時間のが分かりやすいのでそれで指定し 9時間の差分を DATE_ADD で埋めています
    • JST は UTC の +9時間のため、データが入るとき -9時間されているので、DATE_ADD では -9時間で指定してます。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0