古詩詞大全網 - 四字成語 - oracle列出指定時間範圍內的所有月份?

oracle列出指定時間範圍內的所有月份?

這是遞歸寫法的問題,在8,9i升級新版本過程中經常遇到類似問題.這個在10g,11g以後跑應該都沒問題,在9i按以下方法寫可以實現:

SELECT TO_CHAR (ADD_MONTHS (TO_DATE ('2011-03', 'yyyy-mm'), ROWNUM - 1),'YYYY-MM') AS yearmonth FROM all_objects

WHERE ROWNUM <=(SELECT MONTHS_BETWEEN (TO_DATE ('2012-07', 'yyyy-mm'),TO_DATE ('2011-03', 'yyyy-mm')) FROM DUAL)