方法一:
------------------------------------------------------------------------------------------------------------
select count(*)
from (select trunc(TO_DATE('2005/11/04', 'YYYY/MM/DD'), 'MM') + rownum - 1 as d
from dba_objects) x
where trunc(x.d) between trunc(TO_DATE('2005/11/04', 'YYYY/MM/DD')) and
trunc(TO_DATE('2007/04/13', 'YYYY/MM/DD'))
and to_char(x.d, 'd') = '1';
蓝色的为开始日期,红色的为结束日期。
注意:to_char(x, 'd'),星期天是'1',星期一是'2'.....星期六是'7'
-------------------------------------------------------------------------------------------------------------
方法二:
select trunc((to_date('2006/11/23','YYYY/MM/DD')-NEXT_DAY(to_date('2006/10/20','YYYY/MM/DD'),1))/7)+1 from dual;
浙公网安备 33010602011771号