如题,请各位大神帮帮忙!
------解决方案--------------------
- SQL code
create table t1 (b_date date,e_date date);insert into t1 values (date'2011-06-01',date'2011-12-01');insert into t1 values (date'2012-03-01',date'2012-06-01');commit;select distinct to_char(add_months(b_date,level-1),'yyyy-mm') dfrom t1connect by level< trunc(months_between(e_date,b_date),0)+2order by d D-------------------------1 2011-062 2011-073 2011-084 2011-095 2011-106 2011-117 2011-128 2012-039 2012-0410 2012-0511 2012-06
------解决方案--------------------
--取指定时间段内每一天
SELECT to_date('2011-10-10' , 'YYYY-MM-DD') + ROWNUM - 1 service_date FROM dual
CONNECT BY ROWNUM <= (to_date('2011-10-28' , 'YYYY-MM-DD') - to_date('2011-10-10' , 'YYYY-MM-DD') + 1);
SERVICE_DATE
-------------------------
2011-10-10 00:00:00
2011-10-11 00:00:00
2011-10-12 00:00:00
2011-10-13 00:00:00
2011-10-14 00:00:00
2011-10-15 00:00:00
2011-10-16 00:00:00
2011-10-17 00:00:00
2011-10-18 00:00:00
2011-10-19 00:00:00
2011-10-20 00:00:00
2011-10-21 00:00:00
2011-10-22 00:00:00
2011-10-23 00:00:00
2011-10-24 00:00:00
2011-10-25 00:00:00
2011-10-26 00:00:00
2011-10-27 00:00:00
2011-10-28 00:00:00