Oracle MONTHS_BETWEEN
2017-05-19 11:49
148 查看
MONTHS_BETWEEN函数会返回日期类型的date1和date2之间的相差的月份。
(1)如果date1晚于date2,返回的结果就是正数。
SELECT MONTHS_BETWEEN(TO_DATE('2017-05-19', 'YYYY-MM-DD'), TO_DATE('2017-03-23', 'YYYY-MM-DD')) MONTHS FROM DUAL;
1.87096774193548
(2)如果date1早于date2,那么返回的就是一个负数。
SELECT MONTHS_BETWEEN(TO_DATE('2017-03-23', 'YYYY-MM-DD'), TO_DATE('2017-05-19', 'YYYY-MM-DD')) MONTHS FROM DUAL;
-1.87096774193548
(3)如果date1和date2要么是月里的同日或者月的最后一日,返回的结果总是一个整数。
SELECT MONTHS_BETWEEN(TO_DATE('2017-05-19', 'YYYY-MM-DD'), TO_DATE('2017-03-19', 'YYYY-MM-DD')) MONTHS FROM DUAL;
2
(4)否则Oracle会在每月31天的基础上计算出一个带有小数部分的结果,并且会考虑到date1和date2的组成部分。
SELECT MONTHS_BETWEEN(TO_DATE('2017-05-18', 'YYYY-MM-DD'), TO_DATE('2017-03-19', 'YYYY-MM-DD')) MONTHS FROM DUAL;
1.96774193548387
相关文章推荐
- oracle 日期常用函數 (ADD_MONTHS,LAST_DAY,NEXT_DAY,MONTHS_BETWEEN,NEW_TIME,ROUND,TRUNC)
- oracle 日期常用函数 (ADD_MONTHS,LAST_DAY,NEXT_DAY,MONTHS_BETWEEN,NEW_TIME,ROUND,TRUNC)
- ORACLE 日期函数 MONTHS_BETWEEN
- ORACLE中函数MONTHS_BETWEEN…
- oracle 日期常用函數 (ADD_MONTHS,LAST_DAY,NEXT_DAY,MONTHS_BETWEEN,NEW_TIME,ROUND,TRUNC)
- oracle 日期常用函数 (ADD_MONTHS,LAST_DAY,NEXT_DAY,MONTHS_BETWEEN,NEW_TIME,ROUND,TRUNC)
- oracle 日期常用函數 (ADD_MONTHS,LAST_DAY,NEXT_DAY,MONTHS_BETWEEN,NEW_TIME,ROUND,TRUNC)
- Oracle months_between()和add_months()函数
- oracle 日期常用函数 (ADD_MONTHS,LAST_DAY,NEXT_DAY,MONTHS_BETWEEN,NEW_TIME,ROUND,TRUNC)
- Oracle的months_between(date1,date2)函数注意点
- Oracle中取某时间段月份列表、年份列表 ADD_MONTHS、MONTHS_BETWEEN
- ORACLE 日期函数 MONTHS_BETWEEN
- oracle的months_between的注意点
- ORACLE中函数MONTHS_BETWEEN的使用
- oracle 日期函数 MONTHS_BETWEEN
- oracle 日期常用函數 (ADD_MONTHS,LAST_DAY,NEXT_DAY,MONTHS_BETWEEN,NEW_TIME,ROUND,TRUNC)
- ORACLE 日期函数 MONTHS_BETWEEN
- oracle 日期常用函數 (ADD_MONTHS,LAST_DAY,NEXT_DAY,MONTHS_BETWEEN,NEW_TIME,ROUND,TRUNC)
- ORACLE 日期函数 MONTHS_BETWEEN
- ORACLE 日期函数 MONTHS_BETWEEN