日期:2014-05-17  浏览次数:20866 次

一个求天数的小问题
如何能用一条SQL语句求出两个时间(这两个时间均为月份,可以跨年),举个例子:如求MonthStart:2007-09到MonthEnd:2008-03之间的天数,也就是求出2007-09-01到2008-03-31号的天数。(PS:输入数据是只精确到月的,不是到日的。)

------解决方案--------------------
基本就是这个意思了
你可以作个函数 200901 -结束日期
200701 -开始日期
------解决方案--------------------
sadamladan()基本正确,不过还要加1.
SELECT last_day(to_date( '2009-01 ', 'yyyy-MM '))-to_date( '2007-01 '|| '-01 ', 'yyyy-MM-dd ')+1 as dayCount FROM dual
------解决方案--------------------

SELECT (last_day( to_date( '200803 ', 'yyyymm ')) -to_date( '200709 ', 'yyyymm '))+1 as daynum FROM dual