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

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

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

日付型

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

SELECT
  SYSDATE + 30, --30日後
  SYSDATE + 1, --1日後
  SYSDATE, --本日
  SYSDATE - 1 --1日前
  SYSDATE - 30 --30日前
FROM
  DUAL

文字列型

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

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

SELECT
  TO_CHAR(TO_DATE('20170123', 'YYYYMMDD') + 1, 'YYYYMMDD'), --20170124
  TO_CHAR(TO_DATE('20170123', 'YYYYMMDD'), 'YYYYMMDD'), --20170123
  TO_CHAR(TO_DATE('20170123', 'YYYYMMDD') - 1, 'YYYYMMDD') --20170122
FROM
  DUAL

関連記事