鶏頭のプログラム

Ruby, Javascript, C言語, SQLなどのプログラミング

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では週のはじまりは日曜日のようです。