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文字列関数】STR – 数値を文字列に変換(SQL Server)

SQL Serverで数値を文字列に変換するにはSTR関数を使います。 文法: STR(n [ , length [ , decimal] ] ) nで与えられた数値を文字列に変換する。lengthで …

no image

【SQL文字列関数】REVERSE – 文字列を反転させる(SQL Server)

SQL ServerやMySQLではREVERSE関数を使って文字列を反転させる事ができます。 文法: REVERSE(word) wordに指定した文字列を反転させる。 使用例:文字列を反転させる …

no image

【SQL日付関数】DATEPART – 日付要素を数値で取得する(SQL Server)

SQL Serverでは、DATEPART関数を使って日付値から指定した日付要素を数値で取得する事ができます。 文法: DATEPART(element, value) valueで指定した日付値から …

no image

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

SQL ServerではYEAR関数を使って日付値から年を取得することができます。YEAR関数の他にDATEPART関数で日付値から年を取得することができます。DATEPART関数は年だけではなく、月 …

no image

【SQL算術関数】SQUARE – 値を2乗する(SQL Server)

SQL Serverで、値を2乗するにはSQUARE関数を使います。 文法: SQUARE(value) valueの値を2乗する。 使用例:ポイントを2乗する。 SELECT point, SQUA …

広告

転職