Monatsende mit Oracle SQL ermitteln

Hat man sich beim Programmieren auf ein Backend (sprich Datenbank) festgelegt, so kann man beim Programmieren bereits dort einige Aufgaben erledigen lassen.

Ein gutes Beispiel ist dafür die Datumsberechnung. Was in Java ein „Krampf“ ist, lässt sich bei Oracle sehr einfach in der Datenbankanfrage (mittels SQL) erledigen.

Möchte man zum Beispiel die Zeitdifferenz von heute bis zum Monatsende ermitteln, wäre folgender Lösungsansatz möglich:

SELECT SYSDATE "heute",
   LAST_DAY(SYSDATE) "Monatsende",
   LAST_DAY(SYSDATE) - SYSDATE "Tage bis zum Monatsende"
   FROM DUAL;

heute    Monatsen Tage bis zum Monatsende
-------- -------- -----------------------
29.09.09 30.09.09                       1

Einziger Nachteil, die SQL Funktion last_day steht nicht in jedem Datenbanksystem zur Verfügung.

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

%d Bloggern gefällt das: