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.

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>

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!