日付別にテーブルを作ってデータを入れている場合に、
1日分集計したいけど、1日の切り替わりが 0時じゃ無い時とかに...
(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時間で指定してます。