09.05.2014 Aufrufe

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

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!