Oracle Datumsfunktionen

Neben numerischen Werten und Zeichenketten existiert der häufig verwendete Datentyp date für Datum (Date) und Zeitstempel (Timestamp). Das Datum kann millisekundengenau verarbeitet werden. Im Folgenden habe ich die Oracle Datumsfunktionen zur Datumsberechnung aufgeführt, welche von mir häufig verwendet werden.

Formatierungsmaske

Die Oraclefunktionen zur Datumsberechnung und Umwandlung benötigen teilweise eine Formatierungsmaske (format_mask), welche angeben, an welcher Stelle des Strings zu Umwandlung/Berechnung sich welcher Teil des Datums befindet. Die folgende Tabelle enthält nur einen kleinen Teil der möglichen Parameter, da ich andere Parameter fast nie verwende:

Parameter Bedeutung Beispiel
YYYY Jahr vierstellig 2008
YY Jahr zweistellig 08
MM Monat 11
WW Kalenderwoche 51
D Wochentag (1-7) 3
DD Tag im Monat 15
HH24 Stunde (24h-Format) 13
MI Minute der Stunde 45
SS Sekunde der Minute 34

to_date()

Mit der Funktion to_date() kann aus einem String ein Datum erzeugt werden. Dazu wird anhand der obigen Formatierungsmaske festgelegt, wie das Datum im String aufgebaut ist. Die to_date() Funktion erstellt ein Datum, wenn dieses gültig ist, ansonsten wird mit einem Fehler abgebrochen. Beispiele:

to_char()

Die Funktion to_char() wandelt ein Datum zurück in eine Zeichenkette um. Es werden wie bei to_date() die gleichen Parameter verwendet. Jedoch wird statt einem String mit einem Datum die Datumsvariable bzw. das Datumsfeld übergeben. Beispiele:

Mit Monaten arbeiten

Die obigen Beispiele behandeln einfache Umrechnungen. Bei Monaten können Sie mittels der Funktion last_day() kann aus einem übergebenen Datum der letzte Tag des Monats ermittelt werden. Es wird wiederum ein Datum zurückgegeben:

Einfacher ist das ermitteln des ersten Tages des Monats. Hierfür hat Oracle keine Funktion bereitgestellt

Da der erste Tag des Monats immer 01 ist, wird in der Funktionsmaske statt DD der Wert 01 eingetragen, da dieser nicht interpretiert, sondern direkt übernommen wird.

Die Funktion add_months() addiert eine beliebige Anzahl Monate auf ein Datum auf. Beispiel:

Einfache Berechnungen

Auf ein Datum kann eine beliege Zahl addiert oder subtrahiert werden. Der Wert 1 entspricht einem Tag. So zum Beispiel bei

ein Datum zurückgegeben, welches um 1,5 Tage bzw. 36 Stunden erhöht wurde.

Home