select count(*) from (
SELECT to_char(LAST_DAY(to_date('200802','yyyymm')),'dd') mdate,to_date('200802'||lpad(level,2,'0'),'yyyymmdd'), to_char(to_date('200802'||lpad(level,2,'0'),'yyyymmdd'),'W') w,to_char(to_date('200802'||lpad(level,2,'0'),'yyyymmdd'),'d') d FROM DUAL
connect by level <=to_char(LAST_DAY(to_date('200802','yyyymm')),'dd')
)
where D between 2 and 6
select count(*) from (
select to_char(to_date('20080101','yyyymmdd')+rownum-1,'d') d,to_date('20080101','yyyymmdd')+rownum-1,
rownum
from dual
connect by rownum <= to_date('2008','yyyy')-to_date('2007','yyyy')
)
where d between 2 and 6
本文提供了两个使用SQL进行特定日期范围内数据查询的例子。第一个例子展示了如何生成一个月内每天的日期列表,并提取星期和月份信息。第二个例子则通过ROWNUM生成了一个特定年份内的日期列表,并筛选出工作日为2到6的记录。

被折叠的 条评论
为什么被折叠?



