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.
TO_TIMESTAMP_TZ ('27-Oct-2002 01:30:00.00 America/Detroit EDT',<br />
'dd-Mon-yyyy hh:mi:ssxff TZR TZD')<br />
Um Mehrdeutigkeit zu vermeiden, empfehlen wir Ihnen, entweder einen Verschiebungsbetrag<br />
für die Zeitzone in St<strong>und</strong>en <strong>und</strong> Minuten (z.B. –5:00) anzugeben oder eine Kombination<br />
von Regionsname <strong>und</strong> Zeitzonenabkürzung. Wenn Sie nur den Regionsnamen<br />
allein angeben <strong>und</strong> es wegen der Sommerzeit zu Mehrdeutigkeiten kommen kann, löst<br />
Oracle diese auf, indem es von der Standardzeit ausgeht.<br />
Wenn Sie den Sitzungsparameter ERROR_ON_OVERLAP_TIME auf<br />
TRUE einstellen, meldet Oracle jedesmal einen Fehler, wenn Sie eine<br />
mehrdeutige Zeit eingeben.<br />
Eine vollständige Liste der von Oracle unterstützten Zeitzonen-Regionsnamen <strong>und</strong><br />
-Abkürzungen erhalten Sie durch Abfrage der View V$TIMEZONE_NAMES. An diese<br />
View kommt jeder Datenbanknutzer heran. Achten Sie bei der Abfrage darauf, daß die<br />
Zeitzonen-Abkürzungen nicht immer eindeutig sind (siehe Kasten).<br />
Ein Zeitzonen-Standard?<br />
Da Zeitzonen so wichtig sind, sollte man eigentlich meinen, daß ihre Namen <strong>und</strong> Abkürzungen<br />
nach internationalen Standards geregelt sein sollten. Doch einen solchen Standard<br />
gibt es nicht. Nicht genug damit, daß die Abkürzungen der Zeitzonen nicht standardisiert<br />
sind, sie kommen sogar auch doppelt vor. So wird z.B. EST sowohl in den USA als auch in<br />
Australien für Eastern Standard Time benutzt, bezeichnet aber ganz <strong>und</strong> gar nicht dieselbe<br />
Zeit. Daher gestatten die TO_TIMESTAMP-Funktionen nicht, eine Zeitzone lediglich mit<br />
ihrer Abkürzung anzugeben.<br />
Da es keinen Standard für die Zeitzone gibt, können Sie ebensogut die Quelle all dieser<br />
Regionsnamen für Zeitzonen aus der View V$TIMEZONE_NAMES abfragen. Oracle<br />
selbst hat diese Informationen von ftp://elsie.nci.nih.gov/pub. Achten Sie dort vor allem auf<br />
die Datei tzdata_2002c.tar.gz.<br />
Datums- <strong>und</strong> <strong>Zeitstempel</strong>-Literale<br />
Datums- <strong>und</strong> <strong>Zeitstempel</strong>-Literale gehören mit zum SQL-Standard von ANSI <strong>und</strong> werden<br />
seit Oracle9i unterstützt. Mit ihnen haben Sie noch eine weitere Möglichkeit, Werte<br />
in Datums- <strong>und</strong> Uhrzeit-Variablen zu speichern. Ein Datums-Literal besteht aus dem<br />
Schlüsselwort DATE, gefolgt von einem Datumswert (<strong>und</strong> nur einem Datumswert) im<br />
folgenden Format:<br />
DATE 'YYYY-MM-DD'<br />
Ein <strong>Zeitstempel</strong>-Literal besteht aus dem Schlüsselwort TIMESTAMP, gefolgt von einem<br />
Datums-/Uhrzeitwert in einem sehr speziellen Format:<br />
294 | Kapitel <strong>10</strong>: <strong>Datumswerte</strong> <strong>und</strong> <strong>Zeitstempel</strong>