One of the options:
add_months( trunc( add_months(<<your date>>,-1),'YYYY'), 13 )
i.e.
SQL> ed Wrote file afiedt.buf 1 select add_months( trunc( add_months( date '1980-02-17', -1 ), 'YYYY'), 13 ) 2* from dual SQL> / ADD_MONTH --------- 01-FEB-81 SQL> ed Wrote file afiedt.buf 1 select add_months( trunc( add_months( date '1980-01-17', -1 ), 'YYYY'), 13 ) 2* from dual SQL> / ADD_MONTH --------- 01-FEB-80 SQL> ed Wrote file afiedt.buf 1 select add_months( trunc( add_months( date '1980-12-17', -1 ), 'YYYY'), 13 ) 2* from dual SQL> / ADD_MONTH --------- 01-FEB-81
source share