求每个月第几周是那几天的SQL话语写法
求每个月第几周是那几天的SQL语句写法
如,11月份
第1周是2012-11-01到2012-11-04
第2周是2012-11-05到2012-11-11
第3周是2012-11-12到2012-11-18
第4周是2012-11-19到2012-11-25
第5周是2012-11-26到2012-11-30
.....
不知道怎样写可以实现,求大神们帮助
------解决方案--------------------
'201211'是传递的参数
如,11月份
第1周是2012-11-01到2012-11-04
第2周是2012-11-05到2012-11-11
第3周是2012-11-12到2012-11-18
第4周是2012-11-19到2012-11-25
第5周是2012-11-26到2012-11-30
.....
不知道怎样写可以实现,求大神们帮助
------解决方案--------------------
SELECT row_number() over(ORDER BY m.groupid DESC) rn,
MIN(m.t_date) start_date,
MAX(m.t_date) end_date
FROM (
SELECT '201211'
------解决方案--------------------
to_char(LEVEL,'fm09') t_date,
to_char(to_date('201211'
------解决方案--------------------
to_char(LEVEL,'fm09'),'yyyymmdd') - 1, 'd') - 1 - LEVEL groupid
FROM dual
CONNECT BY LEVEL <= LAST_DAY(TO_DATE('201211', 'yymm')) - TO_DATE('201211', 'yymm') + 1
) m
GROUP BY m.groupid
ORDER BY m.groupid DESC
RN START_DATE END_DATE
---------- ---------- ---------
1 20121101 20121104
2 20121105 20121111
3 20121112 20121118
4 20121119 20121125
5 20121126 20121130
'201211'是传递的参数