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

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

我想出了add_month,但是如果我从数据源有不同的月份,似乎并不灵活

任何好的想法?

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',-2)) from dual;

结果:

April,30 1924 00:00:00+0000

March,31 1924 00:00:00+0000

February,29 1924 00:00:00+0000

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

dawei