「Oracle」MONTHS_BETWEENで2つの日付間の月数を取得する方法

環境
Oracle Database 12c Standard Edition Release 12.2.0.1.0 – 64bit Production

構文
MONTHS_BETWEEN(日付1, 日付2)
MONTHS_BETWEENを使用して、2つの日付の間の月数を取得します。
日付データ1と日付データ2との月数の差を求めます。日付データ1と日付データ2の日が一致しなければ月数に換算した少数が含まれます

使用例1

SELECT MONTHS_BETWEEN(SYSDATE, '2022/01/12') FROM dual;

結果 7.69072281959378733572281959378733572282
日数以下の差が小数として表示れます。

使用例2
書式
TRUNC(MONTHS_BETWEEN(日付1, 日付2))
SQL構文

SELECT TRUNC(MONTHS_BETWEEN(SYSDATE, '2022/01/12')) FROM dual;

結果 7

使用例3
日付「2022/03/30」と「2015/10/26」の間の月数を取得します
SQL構文

SELECT
  TRUNC( MONTHS_BETWEEN(TO_DATE('2022/03/30', 'YYYY/MM/DD'),TO_DATE('2015/10/26', 'YYYY/MM/DD') ) / 12 )  RESULT
FROM
  DUAL

結果 6

Oracle

Posted by arkgame