Oracleの日付操作
基本的に家ではPostgreSQLを使用しているのですが
仕事ではいろんなデータベースを使用します。
日付操作がかなり必要になったので記録がてら記載します。
月初
SELECT trunc(SYSDATE, 'MM') 月初 FROM DUAL
月末
SELECT LAST_DAY(SYSDATE) 月末 FROM DUAL
1日後
SELECT SYSDATE + 1 明日 FROM DUAL
1日前
SELECT SYSDATE - 1 昨日 FROM DUAL
1ヶ月後
SELECT add_months(SYSDATE, 1) ひと月後 FROM DUAL
一ヶ月前
SELECT add_months(SYSDATE, -1) ひと月前 FROM DUAL
1年後
SELECT ADD_MONTHS(SYSDATE,12) 一年後 FROM DUAL
1年前
SELECT ADD_MONTHS(SYSDATE,-12) 一年前 FROM DUAL
追記-----------------------------------------------
週のあたま
SELECT TRUNC(SYSDATE, 'DAY') 今週初 FROM DUAL
週末
SELECT TRUNC(SYSDATE, 'DAY') + 6 今週末 FROM DUAL
ちなみにOracleでは週のはじまりは日曜日のようです。