给定某一年(如2011),该年的第几周(如20周),求一个SQL,已知年和周,得到起止时间
------解决方案--------------------
- SQL code
select * from (select to_char(to_date('2011'||'-01', 'YYYY-MM') + rownum - 1, 'YYYY-MM-DD') sdate from dualconnect by rownum <= 366)where to_char(to_date(sdate,'yyyy-mm-dd'),'WW')=20 sdate ---------------------1 2011-05-142 2011-05-153 2011-05-164 2011-05-175 2011-05-186 2011-05-197 2011-05-20
------解决方案--------------------
上面是根据年和周获取那周的日期
这个是获取周的起始日期
- SQL code
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 dualconnect 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