在Oracle函数中获取上个月的最后一天

Son*_*nül 6 database oracle function date-arithmetic

我需要这样的功能Oracle.

当我给参数一个简单的日期.然后功能应该让我上个月的最后一天.

例:

FunctionName(10.02.2011) Result should be 31.01.2011

FunctionName(21.03.2011) Result should be 28.02.2011

FunctionName(31.07.2011) Result should be 30.06.2011 (Even date is last day of month)
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?顺便说一句,我从不使用Oracle.

Lam*_*mak 28

SELECT LAST_DAY(ADD_MONTHS(yourdate,-1))
Run Code Online (Sandbox Code Playgroud)

  • 几十年来,这些功能已成为标准Oracle的一部分. (2认同)

Mik*_*ers 8

作为此处其他答案的替代方案,您还可以通过获取本月第一天前一天找到上个月的最后一天

SELECT trunc(your_date, 'MM')-1 as new_date from your_table
Run Code Online (Sandbox Code Playgroud)

我可能仍然建议使用last_day(add_months(xxx,-1))但只是显示替代方案.