PL SQL: Wie findet man den letzten Tag eines Monats heraus?

Vor nicht allzulanger Zeit stellte sich mir „arbeitsbedingt“ die Frage wie man mit Hilfe von PL/SQL den letzten Tag des Vormonats bzw. eines beliebigen Monats herausfindet. Eine Google Suche hat nicht direkt den erwünschten Erfolg gebracht und deshalb musste ich mir selbst etwas überlegen 😉

Hier nun das Ergebnis:
Man füge folgende Zeilen Code in seine Abfrage ein und alles funktioniert wie geschmiert.

last_day (Add_months(sysdate,-1))

Es handelt sich hierbei um die folgenden beiden Befehle:

– Last_day = Mit dieser Funktion kann man den letzten Tag eines Monats bestimmen

– add_months = Mit dieser Funktion kann man von einem Datum (hier aktuelles Datum des Systems) einen Monat abziehen oder draufrechnen.

Ein Beispiel könnte so aussehen:


SELECT *

FROM Tabelle a

WHERE a.Datum = last_day (Add_months(sysdate,-1))

Ich hoffe ihr könnt damit was anfangen und spart euch die eine oder andere Minute „Codeerfinderei“!

2 Antworten auf „PL SQL: Wie findet man den letzten Tag eines Monats heraus?“

  1. funktioniert nicht am 1. des Monats:
    select last_day (Add_months(to_date(‚01.10.2016′,’dd.mm.yyyy‘),-1)) from dual
    –30.09.2016

  2. Hallo abc,

    ich verstehe deinen Kommentar nicht. Funktioniert das SQL oben nicht und deins ist die Lösung oder funktioniert dein Script nicht?

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.