如何从给定日期获得一个月的最后一天?

Hoa*_*ang 18 oracle plsql

例如,给定的日期是04/04/1924,我想找出1924年2月的最后一天.

我提出了add_month,但如果我从数据源获得不同的月份,它似乎不灵活

有什么好主意吗?

Mit*_*eat 39

Oracle有一个last_day()功能:

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;
Run Code Online (Sandbox Code Playgroud)

结果:

April, 30 1924 00:00:00+0000

March, 31 1924 00:00:00+0000

February, 29 1924 00:00:00+0000
Run Code Online (Sandbox Code Playgroud)

Add_Months()在您的日期使用以获得适当的月份,然后申请last_day().