accept dt_beg prompt "Enter the start date (DD-MON-YYYY) : "
accept dt_end prompt "Enter the end date (DD-MON-YYYY) : "
select Month_End
from (select last_day(add_months(trunc(to_date('&dt_beg','DD-MON-YYYY'),'MM')
,(rownum-1))) Month_End
from all_tab_columns
where rownum <= months_between(to_date('&dt_end','DD-MON-YYYY')
,to_date('&dt_beg','DD-MON-YYYY')
)+1
)
where Month_end <= last_day(to_date('&dt_end','DD-MON-YYYY'))
/