months_between(d1,d2)
返回日期 d1 到日期 d2 之间的月数。
如果 d1 > d2,则返回正数。
如果 d1 < d2,则返回负数。
d1 日期型
d2 日期型
数字
(1)使用 months_between 函数比较两个日期之间的月数,如下:
SQL> select sysdate, months_between(sysdate, to_date('2022-07-07','YYYY-MM-DD')) from dual; SYSDATE MONTHS_BETWEEN(SYSDATE,TO_DATE('2022-07-07','YYYY-MM-DD')) -------------- ---------------------------------------------------------- 07-5月 -22 -2
由运行结果可知,2022-05-07 和 2022-07-07 两个日期之间相差 2 个月,返回 -2。
(2)使用 months_between 函数比较两个日期之间的月数,如下:
SQL> select sysdate, months_between(sysdate, to_date('2022-04-07','YYYY-MM-DD')) from dual; SYSDATE MONTHS_BETWEEN(SYSDATE,TO_DATE('2022-04-07','YYYY-MM-DD')) -------------- ---------------------------------------------------------- 07-5月 -22 1
由运行结果可知,2022-05-07 和 2022-07-07 两个日期之间相差 1 个月,返回 1。