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.
Wertausdrücke für Zeiträume<br />
Wertausdrücke für Zeiträume gleichen den <strong>Zeitstempel</strong>-Ausdrücken <strong>und</strong> bieten eine<br />
Möglichkeit mehr, Strings in INTERVAL-Werte zu konvertieren. Zudem sind sie auch<br />
noch flexibler als die Familie der TO_xxINTERVAL-Funktionen.<br />
Wertausdrücke für Zeiträume haben folgende Form:<br />
INTERVAL 'zeichen_darstellung' start_element TO end_element<br />
Hierbei gilt:<br />
zeichen_darstellung<br />
Ist die String-Darstellung des Zeitraums. Eine Beschreibung, wie die INTERVAL-<br />
Typen als Zeichen dargestellt werden, finden Sie unter »Die TO_xxINTERVAL-<br />
Funktionen«.<br />
start_element<br />
Gibt das erste Element des Zeitraums an.<br />
end_element<br />
Gibt das letzte Element des Zeitraums an.<br />
Anders als die TO_xxINTERVAL-Funktionen ermöglichen Ihnen die Wertausdrücke für<br />
Zeiträume, einen Zeitraum als fast beliebige Folge der Datums- <strong>und</strong> Uhrzeitelemente aus<br />
Tabelle <strong>10</strong>-2 anzugeben, allerdings mit zwei Einschränkungen:<br />
• Die Elemente müssen aufeinander folgen.<br />
• Sie dürfen nicht in demselben Zeitraum von einem Monat auf einen Tag übergehen.<br />
Im Folgenden sehen Sie einige gültige Beispiele:<br />
DECLARE<br />
A INTERVAL YEAR TO MONTH;<br />
B INTERVAL YEAR TO MONTH;<br />
C INTERVAL DAY TO SECOND;<br />
D INTERVAL DAY TO SECOND;<br />
BEGIN<br />
/* Beispiele fuer YEAR TO MONTH */<br />
A := INTERVAL '40-3' YEAR TO MONTH;<br />
B := INTERVAL '40' YEAR;<br />
/* Beispiele fuer DAY TO SECOND */<br />
C := INTERVAL '<strong>10</strong> 1:02:<strong>10</strong>.123' DAY TO SECOND;<br />
/* Scheitert in Oracle9i Release 1 wegen eines Bugs */<br />
--D := INTERVAL '1:02' HOUR TO MINUTE;<br />
/* Es folgen zwei Workaro<strong>und</strong>s zum Definieren von Zeitraeumen<br />
wie HOUR TO MINUTE, die nur einen Teil von<br />
DAY TO SECOND abdecken. */<br />
SELECT INTERVAL '1:02' HOUR TO MINUTE<br />
INTO D<br />
308 | Kapitel <strong>10</strong>: <strong>Datumswerte</strong> <strong>und</strong> <strong>Zeitstempel</strong>