当前位置: 代码迷 >> Oracle开发 >> sql语句,返回两个日期参数之间的连续年月
  详细解决方案

sql语句,返回两个日期参数之间的连续年月

热度:30   发布时间:2016-04-24 07:28:54.0
求一个sql语句,返回两个日期参数之间的连续年月
如题,请各位大神帮帮忙!

------解决方案--------------------
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
  相关解决方案