ORACLE获取某个时间段之间的月份,日列表

--获取某个时间段的日期列表(示例返回2013-01-01到2014-01-01之间的日期列表) 
SELECT TO_CHAR(TO_DATE('2013-01-01', 'YYYY-MM-DD') + ROWNUM - 1,
               'YYYY-MM-DD') CREATED_TM
  FROM DUAL
CONNECT BY ROWNUM <=
           TRUNC(TO_DATE('2014-01-01', 'YYYY-MM-DD') -
                 TO_DATE('2013-01-01', 'YYYY-MM-DD')) + 1


--获取某个时间段之间的月份列表(示例返回2013-01到2014-01之间的月份列表) 
SELECT TO_CHAR(ADD_MONTHS(TO_DATE('2009-01', 'YYYY-MM'), ROWNUM - 1),
               'YYYY-MM') DAY_ID
  FROM DUAL
CONNECT BY ROWNUM <=
           MONTHS_BETWEEN(TO_DATE('2010-01', 'YYYY-MM'),
                          TO_DATE('2009-01', 'YYYY-MM')) + 1

猜你喜欢

转载自xinjiatao.iteye.com/blog/2162926