Bigqueryで当日を条件に絞るときにハマったのでメモ。
条件のとこだけ記載。対象のカラム名は「time」、型はtimestamp型とします。
timestamp型でその日だけを指定する方法、簡単にできそうで意外とハマりました。
ついでに、BigQueryに入っているtimestamp型のデータは基本UTCなので、それをJSTに変換しています。
※下記サイトを参考にいたしました。
http://itnote-ichi5.com/post-bigquery-utc-jst/
当日
WHERE
STRFTIME_UTC_USEC(TIMESTAMP_TO_USEC(time) + 32400000000, '%Y-%m-%d') = CURRENT_DATE()
ちなみに、1日前はこちら。
前日
WHERE
STRFTIME_UTC_USEC(TIMESTAMP_TO_USEC(time) + 32400000000, '%Y-%m-%d') = DATE(DATE_ADD(CURRENT_TIMESTAMP(),-1,"DAY"))
DATE_ADDでDAYを-1で指定しています。あとは同じ。
n日前、後だったらこの数字をいじればよさそう。