SQL> SELECT 2 LEVEL Month, 3 TO_CHAR(LAST_DAY(TO_DATE(LEVEL || '/1/' || 4 TO_CHAR(SYSDATE, 'YYYY'), 'MM/DD/YYYY')),'DD') Days 5 FROM 6 Dual 7 CONNECT BY 8 LEVEL <= 12; MONTH DA ---------- -- 1 31 2 28 3 31 4 30 5 31 6 30 7 31 8 31 9 30 10 31 11 30 12 31 12 rows selected.