select last_day(trunc(sysdate)) lday, to_date('01'||to_char(sysdate,'MMYYYY')) fday,
(last_day(trunc(sysdate)) - to_date('01'||to_char(sysdate,'MMYYYY')) + 1) anz_tage from dual;
LDAY FDAY ANZ_TAGE
-------- -------- ----------
30.04.10 01.04.10 30
1 row selected.