本文主要是介绍Oracle MONTHS_BETWEEN,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
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')) MONTHSFROM 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')) MONTHSFROM 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')) MONTHSFROM 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')) MONTHSFROM DUAL;
1.96774193548387
这篇关于Oracle MONTHS_BETWEEN的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!