zukucode
主にWEB関連の情報を技術メモとして発信しています。

PostgreSQL 日付の加算・減算を行う

PostgreSQLで日付の加算・減算を行う方法を紹介します。

日付型

日付型のカラムに対しては、数字の計算と同じ要領で行うことができます。

SELECT
  CURRENT_DATE + 1 AS TOMORROW, --1日後
  CURRENT_DATE AS TODAY, --本日
  CURRENT_DATE - 1 AS YESTERDAY --1日前

文字列型

YYYYMMDD形式などの文字列型のカラムの場合は、日付型に変換してから上記と同じように行います。

日付を計算したあとに文字列型に変換して元の型に戻します。

SELECT
  TO_CHAR(TO_DATE('20170123', 'YYYYMMDD') + 1, 'YYYYMMDD') AS TOMORROW, --20170124
  TO_CHAR(TO_DATE('20170123', 'YYYYMMDD'), 'YYYYMMDD') AS TODAY, --20170123
  TO_CHAR(TO_DATE('20170123', 'YYYYMMDD') - 1, 'YYYYMMDD') AS YESTERDAY --20170122

関連記事