例如,给定的日期为 19年4月4日,我想找出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','MM/DD/YYYY'), -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()

关于oracle - 如何从给定日期获得一个月的最后一天?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15445216/

10-10 03:40