Oracle a un last_day()
fonction :
SELECT LAST_DAY(to_date('04/04/1924','MM/DD/YYYY')) from dual;
SELECT LAST_DAY(ADD_MONTHS(to_date('04/04/1924','MM/DD/YYYY'), -1)) from dual;
SELECT LAST_DAY(ADD_MONTHS(to_date('04/04/1924','MM/DD/YYYY'), -2)) from dual;
Résultats :
April, 30 1924 00:00:00+0000
March, 31 1924 00:00:00+0000
February, 29 1924 00:00:00+0000
Utilisez Add_Months()
à votre date pour obtenir le mois approprié, puis appliquez last_day()
.