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

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>

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!