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.
Zeiträume zu <strong>Datumswerte</strong>n addieren oder davon subtrahieren<br />
Das gr<strong>und</strong>sätzliche Konzept, einen Zeitraum zu einem Datums-/Uhrzeitwert zu addieren<br />
oder ihn davon zu subtrahieren, ist in Oracle9i das gleiche wie in früheren Releases. Mit<br />
Oracle8i können Sie folgendes tun:<br />
hire_date + 1;<br />
Mit Oracle9i können Sie dasselbe tun, aber auch dieses:<br />
hire_date + INTERVAL '1' DAY;<br />
Hier ist nichts neu mit Ausnahme des Datentyps INTERVAL DAY TO SECOND. Der<br />
Ausdruck INTERVAL ‘1’ DAY ergibt einen Wert vom Typ INTERVAL DAY TO<br />
SECOND. Da wir nur eine Anzahl Tage angegeben haben, sind die Werte für St<strong>und</strong>en,<br />
Minuten <strong>und</strong> Sek<strong>und</strong>en standardmäßig null. Genaueres über die Schreibweise der hier<br />
verwendeten Arten von Zeiträume können Sie weiter oben in diesem Kapitel unter<br />
»Wertausdrücke mit Zeiträumen« nachlesen.<br />
Das folgende Codestück enthält noch weitere Beispiele für Arithmetik mit Zeiträumen in<br />
Oracle9i:<br />
DECLARE<br />
hire_date TIMESTAMP WITH TIME ZONE;<br />
a INTERVAL YEAR TO MONTH;<br />
b INTERVAL DAY TO SECOND;<br />
BEGIN<br />
hire_date := TIMESTAMP '2000-09-01 00:00:00 -5:00';<br />
DBMS_OUTPUT.PUT_LINE(hire_date);<br />
a := INTERVAL '1-2' YEAR TO MONTH;<br />
b := INTERVAL '3 4:5:6.7' DAY TO SECOND;<br />
--Addiert Jahre <strong>und</strong> Monate.<br />
hire_date := hire_date + a;<br />
DBMS_OUTPUT.PUT_LINE(hire_date);<br />
--Addiert Tage, St<strong>und</strong>en, Minuten <strong>und</strong> Sek<strong>und</strong>en.<br />
hire_date := hire_date + b;<br />
DBMS_OUTPUT.PUT_LINE(hire_date);<br />
END;<br />
Die Ausgabe lautet:<br />
01-SEP-00 12.00.00.000000 AM -05:00<br />
01-NOV-01 12.00.00.000000 AM -05:00<br />
04-NOV-01 04.05.06.700000 AM -05:00<br />
Den Zeitraum zwischen zwei <strong>Datumswerte</strong>n berechnen<br />
Wenn Sie den Zeitraum zwischen zwei DATE-Werten berechnen, ist das Ergebnis die<br />
Anzahl der 24-St<strong>und</strong>en-Zeiträume (nicht der Tage) zwischen den beiden Werten. War<br />
318 | Kapitel <strong>10</strong>: <strong>Datumswerte</strong> <strong>und</strong> <strong>Zeitstempel</strong>