select * from
(select to_char(sysdate+rownum-1,'yyyy-mm-dd') as days,rownum from dual
connect by sysdate + rownum - 1 < sysdate + 33)
select add_months(trunc(sysdate,'mm'),1) from dual
select add_months(trunc(sysdate,'dd'),1) from dual
select add_months(trunc(sysdate,'dd'),1)+1 from dual
select to_char(sysdate+rownum-1,'yyyy-mm-dd') as days,rownum from dual
connect by sysdate+rownum-1 < add_months(trunc(sysdate,'dd'),1)+2
select to_char(sysdate + rownum - 3,'yyyy-mm-dd') as days,rownum from dual
connect by sysdate + rownum - 3 <= sysdate