日期:2014-05-17 浏览次数:21006 次
select * from (
select to_char(to_date('2011'||'-01', 'YYYY-MM') + rownum - 1, 'YYYY-MM-DD') sdate
from dual
connect by rownum <= 366)
where to_char(to_date(sdate,'yyyy-mm-dd'),'WW')=20
sdate
---------------------
1 2011-05-14
2 2011-05-15
3 2011-05-16
4 2011-05-17
5 2011-05-18
6 2011-05-19
7 2011-05-20
------解决方案--------------------
上面是根据年和周获取那周的日期
这个是获取周的起始日期
select max(sdate) m_date,min(sdate) n_date from (
select to_char(to_date('2011'||'-01', 'YYYY-MM') + rownum - 1, 'YYYY-MM-DD') as sdate
from dual
connect by rownum <= 365)
where to_char(to_date(sdate,'yyyy-mm-dd'),'WW')=20
m_date n_date
-------------------------------------
1 2011-05-20 2011-05-14