2011-02-10 5 views
6

このような関数は、Oracleに必要です。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を使用しません。

答えて

26
SELECT LAST_DAY(ADD_MONTHS(yourdate,-1)) 
+2

これらの機能は、数十年間標準のOracleに組み込まれています。 – APC

+1

@APC oh、知っておいてよ:)私は実際にOracleの新機能です。 – Lamak

2

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

あなたが好きなように(私はあなたのための1つを残しておきます;)日付を結果のフォーマット、ここで他の回答に代わるものとして

7

、あなたも取得することによって、前の月の最後の日を見つけることができます今月

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

の初日の前日には、私はおそらくまだlast_day(add_months(xxx,-1))を使用しますが、単に選択肢を示すことをお勧めします。

関連する問題