oracle 月份期差,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得出。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值