KAPITEL 10 Datumswerte und Zeitstempel - beim O'Reilly Verlag
KAPITEL 10 Datumswerte und Zeitstempel - beim O'Reilly Verlag
KAPITEL 10 Datumswerte und Zeitstempel - beim O'Reilly Verlag
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
CURRENT_DATE RETURN DATE<br />
CURRENT_TIMESTAMP RETURN TIMESTAMP_TZ_UNCONSTRAINED<br />
LOCALTIMESTAMP RETURN TIMESTAMP_UNCONSTRAINED<br />
SYSDATE RETURN DATE<br />
SYSTIMESTAMP RETURN TIMESTAMP_TZ_UNCONSTRAINED<br />
Die SQL-Referenz zeigt auch einen optionalen Parameter für die Genauigkeit<br />
von CURRENT_TIMESTAMP <strong>und</strong> LOCALTIMESTAMP. In Oracle9i<br />
Release 1 unterstützt zwar SQL diesen Parameter, nicht aber PL/SQL. Erst<br />
seit Oracle9i Release 2 wird er auch von PL/SQL unterstützt.<br />
Welche Funktion soll man denn nun in einer gegebenen Situation einsetzen? Die Antwort<br />
hängt von mehreren Faktoren ab, die Sie in folgender Reihenfolge betrachten sollten:<br />
1. Sie verwenden eine ältere Version als Oracle8i oder müssen die Abwärtskompatibilität<br />
zu einer solchen Version bewahren. Dann haben Sie es leicht: Verwenden Sie<br />
SYSDATE.<br />
2. Für Sie sind Zeitzonen von Bedeutung. Die Datenbank hat eine Zeitzone <strong>und</strong> jede<br />
Sitzung ebenfalls, wobei jedoch Ihre Sitzung mit einer anderen Zeitzone als die<br />
Datenbank verb<strong>und</strong>en sein kann. Möchten Sie nun die Zeit auf der Basis Ihrer eigenen<br />
Zeitzone oder der des Servers speichern?<br />
3. Für Sie sind Datentypen von Bedeutung. Manche Funktionen liefern DATE, eine liefert<br />
TIMESTAMP, <strong>und</strong> wieder andere liefern TIMESTAMP WITH TIME ZONE-<br />
Werte. Nachdem Sie nun zwischen der Sitzungs-Zeitzone <strong>und</strong> der Server-Zeitzone<br />
entschieden haben, müssen Sie Ihre Auswahl entsprechend dem Rückgabetyp der<br />
Funktion noch weiter einengen.<br />
In Verbindung mit diesen drei Faktoren hilft Ihnen Tabelle <strong>10</strong>-6 bei der Entscheidung<br />
darüber, welche Funktion Sie verwenden sollten. Leider hat Oracle jedoch in der<br />
Namensgebung nicht auf Entsprechungen geachtet. LOCALTIMESTAMP <strong>und</strong> SYS-<br />
TIMESTAMP haben zwar parallele Namen, geben aber unterschiedliche Datentypen<br />
zurück.<br />
Tabelle <strong>10</strong>-6: Vergleich von Funktionen, die das aktuelle Datum <strong>und</strong> die Uhrzeit zurückgeben<br />
Funktion Zeitzone Datentyp<br />
&855(17B'$7( 6LW]XQJ '$7(<br />
&855(17B7,0(67$03 6LW]XQJ 7,0(67$03 :,7+ 7,0( =21(<br />
/2&$/7,0(67$03 6LW]XQJ 7,0(67$03<br />
6