割とかんたんな部類なんだけど、毎度ググってしまうのでメモ的なもので。
前提条件
- STANDARD SQLです(記載タイミングでレガシーのほうを使っているほうが稀かなと思いますが念の為)
やり方
FORMAT_TIMESTAMP("%Y%m%d" ,CURRENT_TIMESTAMP())
動作原理
CURRENT_TIMESTAMP()
を使うと実行時時点の TIMESTAMP
型の情報が取得できるのでそれを FORMAT_TIME_STAMP
で整形しているだけ。
なお、括弧書きを抜いた `CURRENT_TIMESTAMP
でも動きはするのだが、current_timestampという名前のカラム名がある場合は意図した挙動にならない恐れがあるため明示的に書いている。
応用
定時処理などの場合は前日の情報が欲しくなる場合があるので、その場合は減産してあげればいい。
FORMAT_TIMESTAMP("%Y%m%d" ,DATE_SUB(CURRENT_TIMESTAMP(),INTERVAL 1 DAY))