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
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
TIMESTAMP 'YYYY-MM-DD HH:MI:SS[.FFFFFFFFF] [{+|-}HH:MI]'<br />
Das FFFFFFFFF stellt Sek<strong>und</strong>enbruchteile dar <strong>und</strong> ist optional. Sek<strong>und</strong>enbruchteile können<br />
Sie mit einer bis neun Ziffern angeben. Die Zeitzonenverschiebung (+HH:MI) ist<br />
optional <strong>und</strong> kann, wenn nötig, ein Plus- oder ein Minuszeichen verwenden. Die St<strong>und</strong>en<br />
werden immer anhand der 24-St<strong>und</strong>en-Uhr angegeben.<br />
Wenn Sie in einem <strong>Zeitstempel</strong>-Literal die Zeitzonenverschiebung weglassen,<br />
wird als Voreinstellung die Zeitzone der Sitzung verwendet.<br />
Der folgende PL/SQL-Block zeigt mehrere gültige Datums- <strong>und</strong> <strong>Zeitstempel</strong>-Literale:<br />
DECLARE<br />
a TIMESTAMP WITH TIME ZONE;<br />
b TIMESTAMP WITH TIME ZONE;<br />
c TIMESTAMP WITH TIME ZONE;<br />
d TIMESTAMP WITH TIME ZONE;<br />
e DATE;<br />
BEGIN<br />
--Zwei Ziffern für Sek<strong>und</strong>enbruchteile<br />
a := TIMESTAMP '2002-02-19 11:52:00.00 -05:00';<br />
--Neun Ziffern für Sek<strong>und</strong>enbruchteile, 24-St<strong>und</strong>en-Uhr, 14:00 = 2:00 PM<br />
b := TIMESTAMP '2002-02-19 14:00:00.000000000 -5:00';<br />
--Keine Sek<strong>und</strong>enbruchteile<br />
c := TIMESTAMP '2002-02-19 13:52:00 -5:00';<br />
--Keine Zeitzone, Standardwert ist Zeitzone der Sitzung<br />
d := TIMESTAMP '2002-02-19 13:52:00';<br />
--Datums-Literal<br />
e := DATE '2002-02-19';<br />
END;<br />
Das Format für <strong>Zeitstempel</strong>-Literale wird von den Standards laut ANSI/ISO vorgeschrieben<br />
<strong>und</strong> darf von Ihnen oder dem DBA nicht geändert werden. Daher ist es sicher, <strong>Zeitstempel</strong>-<br />
Literale dort zu verwenden, wo Sie in Ihren Code einen speziellen Datums-/Uhrzeitwert einbetten<br />
müssen.<br />
Wenn Sie ein <strong>Zeitstempel</strong>-Literal nutzen, können Sie die Zeitzone auch mit einem Regionsnamen<br />
angeben. So zeigt z.B. der folgende Block, daß <strong>10</strong>:52 –8:00 (Pacific Standard<br />
Time in den USA) gleich 13:52 U.S. Eastern Standard Time ist:<br />
DECLARE<br />
a TIMESTAMP WITH TIME ZONE;<br />
b TIMESTAMP WITH TIME ZONE;<br />
BEGIN<br />
a := TIMESTAMP '2002-02-19 <strong>10</strong>:52:00 -8:00';<br />
b := TIMESTAMP '2002-02-19 13:52:00 EST';<br />
Datums- <strong>und</strong> <strong>Zeitstempel</strong>-Konvertierungen | 295