Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Como obter o último dia de um mês a partir de uma determinada data?


A Oracle tem um last_day() função:
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() em sua data para obter o mês apropriado e, em seguida, inscreva-se last_day() .