Oracle Database 日期算术-日期之间的月份或年份之间的差异
本文向大家介绍Oracle Database 日期算术-日期之间的月份或年份之间的差异,包括了Oracle Database 日期算术-日期之间的月份或年份之间的差异的使用技巧和注意事项,需要的朋友参考一下
示例
可以使用以下命令找到两个日期之间的月份差异MONTHS_BETWEEN( date1, date2 ):
SELECT MONTHS_BETWEEN( DATE '2016-03-10', DATE '2015-03-10' ) AS difference FROM DUAL;
输出:
DIFFERENCE ---------- 12
如果差异包括部分月份,则它将基于每个月有31天返回月份的分数:
SELECT MONTHS_BETWEEN( DATE '2015-02-15', DATE '2015-01-01' ) AS difference FROM DUAL;
输出:
DIFFERENCE ---------- 1.4516129
由于MONTHS_BETWEEN假设每月31天,则每月可以减少的天数可能会导致跨月边界的差异值不同。
例:
SELECT MONTHS_BETWEEN( DATE'2016-02-01', DATE'2016-02-01' - INTERVAL '1' DAY ) AS "JAN-FEB", MONTHS_BETWEEN( DATE'2016-03-01', DATE'2016-03-01' - INTERVAL '1' DAY ) AS "FEB-MAR", MONTHS_BETWEEN( DATE'2016-04-01', DATE'2016-04-01' - INTERVAL '1' DAY ) AS "MAR-APR", MONTHS_BETWEEN( DATE'2016-05-01', DATE'2016-05-01' - INTERVAL '1' DAY ) AS "APR-MAY" FROM DUAL;
输出:
JAN-FEB FEB-MAR MAR-APR APR-MAY ------- ------- ------- ------- 0.03226 0.09677 0.03226 0.06452
年份差异可以通过将月份差异除以12得出。