SELECT TO_CHAR(ADD_MONTHS(TO_DATE('2013-05', 'YYYY-MM'), ROWNUM - 1),
'YYYY-MM') D_TIME,rownum
FROM DUAL
CONNECT BY ROWNUM <=
months_between(to_date('2013-09', 'yyyy-MM'),
to_date('2013-05', 'yyyy-MM')) + 1;
结果:
2013-05
2013-06
2013-07
2013-08
2013-09
给人理解:CONNECT BY是一个递归条件