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“!

Der Artikel hat euch gefallen? Ihr wollt keinen neuen Artikel mehr verpassen? Liked meine brandneue Facebook-Seite und ihr verpasst keinen Artikel mehr und es gibt jede Menge zusätzlicher Infos und Videos, die es nicht auf diese Seite schaffen aber auch verdammt lustig sind. Oder ihr abonniert den RSS Feed!

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.