select *
from (select to_char(to_date(to_char(sysdate, 'yyyymm') || '01',
'yyyymmdd') + rownum - 1,
'yyyymmdd')
from dual
start with dummy = 'X'
connect by dummy = dummy)
where rownum < to_number(to_char(last_day(sysdate), 'dd')) + 1;
from (select to_char(to_date(to_char(sysdate, 'yyyymm') || '01',
'yyyymmdd') + rownum - 1,
'yyyymmdd')
from dual
start with dummy = 'X'
connect by dummy = dummy)
where rownum < to_number(to_char(last_day(sysdate), 'dd')) + 1;