MONTHS_BETWEEN

指定日付間の月の差を取得します。

-- Oracle
MONTHS_BETWEEN ( date1, date2 )

return : 指定日付1と指定日付2の月数の差
date1 : 指定日付1
date2 : 指定日付2

date1 > date2 の日付の場合は正の値が返却されます。date1 < date2 の日付の場合は負の値が返却されます。 date1 と date2 の日が同じか、またはいづれも月の最終日である場合は整数が返却されます。 それ以外の場合は1か月を31日として差が計算されます。   *
2015/02/14 と 2015/03/14 の月の差を取得する場合は、以下のように記述します。

 SELECT MONTHS_BETWEEN(TO_DATE('2015/02/14'), TO_DATE('2015/03/14'))
   FROM DUAL
;

結果

MONTHS_BETWEEN(TO_DATE(‘2015/02/14’), TO_DATE(‘2015/03/14’))
1

 

*
2015/02/14 と 2015/03/04 の月の差を取得する場合は、以下のように記述します。

 SELECT MONTHS_BETWEEN(TO_DATE('2015/02/14'), TO_DATE('2015/03/04'))
   FROM DUAL
;

結果

MONTHS_BETWEEN(TO_DATE(‘2015/02/14’), TO_DATE(‘2015/03/04’))
-0.67741935483871

 

*
2015/02/14 と 2015/03/04 の月の差を取得とき、上記とは逆に日付を指定した場合は、以下のように結果が出力します。

 SELECT MONTHS_BETWEEN(TO_DATE('2015/03/04'), TO_DATE('2015/02/14'))
   FROM DUAL
;

結果

MONTHS_BETWEEN(TO_DATE(‘2015/03/04’), TO_DATE(‘2015/02/14’))
0.67741935483871

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です