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変換関数】NVL2 – NULL値を変換する(Oracle)

NVL関数がバージョンアップ?したNVL2関数があります。NVL2はOracleのコマンドで、以下の通りにNULL値を別の値に変換することができます。 構文: NVL2(式, 値1, 値2) 式の値が …

no image

【SQL集計関数】AVG関数 ? 平均値を求める (Oracle、SQL Server)

平均値を求めるには、AVG関数を使います。 使用例:全社員の給料の平均値を求める SELECT AVG(salary) FROM tbSalaryTable; AVG(salary) —& …

no image

【SQL文字列関数】TRANSLATE – 文字列を置換する(Oracle)

OracleではTRANSLATE関数を使用して文字列の置換を行う事ができます。 文法: TRANSLATE(word, A, B) wordの文字列Aを文字列Bに置換する。例えば、Aに’ …

no image

【SQL文字列関数】STUFF – 部分的な文字の置換(SQL Server)

SQL Serverで文字列の部分的な置換を行う場合はSTUFF関数を使用します。 文法: STUFF(a, b, c, d) aで指定した文字列のb番目からc文字分の文字をdと入れ替える。 使用例: …

no image

【SQL文字列関数】RIGHT – 文字列の右部分(末尾)から文字を抽出(SQL Server)

SQL ServerではRIGHT関数を使用して文字列の右部分(末尾)から指定した文字数だけ文字を抽出することができます。左側(先頭)から抽出する場合はLEFT関数を使用します。 文法: RIGHT( …

広告

転職