PostgreSQL は日時計算が得意だ!日付の加減算を手軽にやる
PostgreSQL は日付の計算に使える便利な演算子・関数を沢山持っている。
たとえば、「現在日付の1ヶ月後」みたいな計算が以下のように直感的に書ける。
-- これで1ヶ月後が求められる
SELECT current_timestamp + interval '1 month';
-- 2ヶ月などは複数形で。2ヶ月前。
SELECT current_timestamp - interval '2 months';
day
とか years
とかも書ける。
そういえば Oracle みたいに FROM DUAL
とか書かずに SELECT 文だけで叩けるのが PostgresSQL の面白いところ。
date_trunc()
関数を使うと指定の精度で日付を切り捨てられるので、「現在日付からみた今週末の日付」なんかを取得できる。
SELECT DATE_TRUNC('week', current_timestamp + '1 week') + '-1 day';
うーん便利!