xxxxxxxxxx
SELECT TRUNC (SYSDATE - ROWNUM) dt
FROM DUAL CONNECT BY ROWNUM < 366
--- OR ---
WITH dates_between_dual AS
(
SELECT
TO_DATE('2024.01.01', 'YYYY.MM.DD HH24:MI:SS') + LEVEL - 1
AS date_val
FROM
dual
CONNECT BY
LEVEL <= TO_DATE('2024.12.31', 'YYYY.MM.DD HH24:MI:SS')
- TO_DATE('2024.01.01', 'YYYY.MM.DD HH24:MI:SS') + 1
)
SELECT
DISTINCT
TO_NUMBER(TO_CHAR(date_val, 'MM')) mes
FROM
dates_between_dual