SQL辞典

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

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

Oracleで2つの日付の差を月単位で取得するには、MONTHS_BETWEEN関数を取得する。注意点はMONTH_BETWEENではなく、MONTHS_BETWEENというようにMONTHが複数形であること。また、使用例の3列目の例のように月だけをみると2か月の差ですが、日付をみると、25‐5で20日間、つまり、20÷31=0.64516129月分の差がありますので、09-05-25と09-03-05の月の差は2.64516129ヶ月分の差がある事になります。

文法:

MONTHS_BETWEEN(date1, date2)

date1からdate2を引く形で月の差を求める。

使用例:日付の差を月単位で求める。

SELECT date1, date2, MONTHS_BETWEEN(date1, date2) FROM tbTestTable;

date1     date2      MONTHS_BETWEEN(date1, date2)
———————————————————————————-
09-09-03   09-04-03     5
09-05-25   09-07-25     -2
09-05-25   09-03-05     2.64516129

SQLコマンド辞典に戻る

広告

広告

-SQL辞典


comment

関連記事

no image

【SQL日付関数】DATEDIFF – 日付と日付の差を取得する(SQL Server)

SQL ServerではDATEDIFF関数を使って、日付と日付の差を取得することができます。 文法: DATEDIFF(element, d1, d2) d1とd2の日付の差をelementで指定し …

no image

【SQL集計関数】SUM関数 – 合計値を求める(Oracle、SQL Server)

OracleやSQL Serverなどで列の合計値を求めるにはSUM関数を使います。集計関数の中でSUM関数が一番良く使われる関数です。引数にDISTINCTを修飾すると重複を除いた合計を求める事がで …

no image

【SQL日付関数】LAST_DAY – 月の最終日付を取得する (Oracle)

Oracleでは、LAST_DAY関数を利用して月の最終日を取得する事ができます。閏年にも対応していますね。 使用例:月の最終日付を取得する。 SELECT date, LAST_DAY(date) …

no image

【SQL集計関数】MAX関数 ? 最大値を返す (SQL Server、Oracle)

指定した列の最大値を返すには、MAX関数を使います。数値、文字列、日付の最大値を求める事が可能です。 使用例:社員の一番高い給料を返す SELECT MAX(salary) FROM tbEmpTab …

no image

【SQL日付関数】MONTH – 日付値から月を取得する(SQL Server)

SQL Serverで日付値から月の値を取得するにはMONTH関数を使います。DATEPART関数を使っても日付型の値から月を取得する事ができます。DATEPART関数とMONTH関数の違いは、DAT …

広告

転職