簡體   English   中英

在 Oracle 函數中獲取上個月的最后一天

[英]Getting Last Day of Previous Month in Oracle Function

我需要這樣的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)

我該怎么做? 順便說一句,我從不使用Oracle

SELECT LAST_DAY(ADD_MONTHS(yourdate,-1))

作為此處其他答案的替代,您還可以通過獲取本月第一天的前一天來找到上個月的最后一天

SELECT trunc(your_date, 'MM')-1 as new_date from your_table

我可能仍然會推薦使用last_day(add_months(xxx,-1))但只是展示一個替代方案。

select LAST_DAY(ADD_MONTHS(sysdate, -1)) from dual ;

根據您的喜好格式化結果日期(我會為您留下那個;)

有了這個,您還可以獲得上個月的最后一個工作日,或更改 -1 的任何其他月份。

SELECT (trunc(LAST_DAY(ADD_MONTHS(sysdate,-1)), 'iw') + 4) from dual

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM