with years as
(select extract(year from sysdate) - (level - 1) as year
from dual
connect by level <=
(select extract(year from sysdate) -
extract(year from date '2000-12-01') --range of years sysdate to 2001
from dual)
order by year desc),
months as
(
select rownum as month_num,to_char(date '2000-12-01' + numtoyminterval(level,'month'),'MONTH') as month
from dual
connect by level <= 12
)
select last_day(to_date(to_char(years.year) || '-' ||
to_char(months.month_num) || '-1',
'yyyy-mm-dd')) as as_of_date
from years, months
where last_day(to_date(years.year || '-' || months.month, 'yyyy-mm')) < sysdate
Monday, November 19, 2018
Generating a series of Previous Month End Dates for a given number of years in Oracle
A very short oracle query for generating a range of previous month end dates for a number of years
Subscribe to:
Posts (Atom)