SQL辞典

【SQL日付関数】ADD_MONTHS – 日付に月を加算する (Oracle)

投稿日:2009年9月24日 更新日:

Oracleでは、ADD_MONTHSを使って日付に月を加算する事ができます。注意点として、2009/09/30のように月末の日付に月を加算すると、その月の月末を計算します。例えば、2009/09/30に1月加算すると、2009/10/31となります。また、2010/01/31に1月加算すると、2010/02/28となります。

文法:

ADD_MONTHS(date, n)

dateに指定した日付にnヶ月を加算する。

使用例:今日の日付の3ヶ月後の日付を取得する。

SELECT sysdate, ADD_MONTHS(sysdate, 3) FROM DUAL;

sysdate     ADD_MONTHS(sysdate, 3)
—————————————————————————
09-09-24     09-10-24

使用例:今日の日付の3カ月前の日付を取得する。

SELECT sysdate, ADD_MONTHS(sysdate, -3) FROM DUAL;

sysdate     ADD_MONTHS(sysdate, -3)
—————————————————————————
09-09-24     09-06-24

使用例:2009/09/30に1月加算する。

SELECT ADD_MONTHS(‘2009/09/30’, 1) FROM DUAL;

ADD_MONTHS(‘2009/09/30’, 1)
———————————————-
2009/10/31

SQLコマンド辞典に戻る

広告

広告

-SQL辞典


comment

関連記事

no image

【SQL文字列関数】LOWER – 文字を小文字に変換(Oracle、SQL Server)

SQL ServerやOracleで文字列を小文字に変換するにはLOWER関数を使います。 構文: LOWER(word) wordを小文字に変換する。 使用例:メールアドレスを小文字に変換する SE …

no image

【SQL算術関数】ROUND – 四捨五入を行う(まるめる)(Oracle、SQL Server)

ROUND関数は数値を四捨五入する関数ですが、MS SQLとOracleでは若干使い方が違います。OracleではROUND関数の引数に指定した数値を四捨五入しますが、MS SQLの場合は四捨五入する …

no image

【SQL文字列関数】UNICODE – 文字をユニコードに変換する(SQL Server)

SQL ServerではUNICODE関数を使って、文字をユニコードに変換できます。 文法: UNICODE(word) wordに指定した文字のユニコードを返す。wordに2文字以上の文字列を指定し …

no image

【SQL文字列関数】CHARINDEX – 文字列の位置を求める(SQL Server)

SQL ServerのCHARINDEX関数は文字列の位置を返します。例えば、「Windows」という文字列からdの位置を求めると4となります。sの位置は7となります。大文字小文字の区別はありません。 …

no image

【SQL日付関数】MONTHS_BETWEEN – 日付の差を月単位で取得する (Oracle)

Oracleで2つの日付の差を月単位で取得するには、MONTHS_BETWEEN関数を取得する。注意点はMONTH_BETWEENではなく、MONTHS_BETWEENというようにMONTHが複数形で …

広告

転職