sql >> Base de Datos >  >> RDS >> Oracle

¿Cómo obtener el último día de un mes a partir de una fecha determinada?

Oracle tiene un last_day() función:

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;

Resultados:

April, 30 1924 00:00:00+0000

March, 31 1924 00:00:00+0000

February, 29 1924 00:00:00+0000

Use Add_Months() en su fecha para obtener el mes apropiado y luego aplique last_day() .