Dieser Abschnitt enthält einige Beispiele des ESQL-Codes, den Sie zur Bearbeitung der Datums-/Zeitwerte mit numerischen Operatoren codieren können.
- Einem Datums-/Zeitwert ein Intervall hinzufügen
- Die einfachste Operation, die ausgeführt werden kann, besteht darin, einem Datums-/Zeitwert ein Intervall hinzuzufügen oder dieses vom Wert zu subtrahieren. Sie können beispielsweise die folgenden Ausdrücke schreiben:
DATE '2000-03-29' + INTERVAL '1' MONTH
TIMESTAMP '1999-12-31 23:59:59' + INTERVAL '1' SECOND
- Zwei Intervalle addieren oder subtrahieren
- Unter Verwendung einer Addition oder Subtraktion können zwei Intervallwerte kombiniert werden. Die beiden Intervallwerte müssen kompatible Typen haben. Es ist nicht gültig, wie in folgendem Beispiel einem Tages-/Sekundenintervall ein Jahres-/Monatsintervall hinzuzufügen:
INTERVAL '1-06' YEAR TO MONTH + INTERVAL '20' DAY
Das Intervall-Qualifikationsmerkmal des resultierenden Intervalls kann alle Felder umfassen, die in den beiden Operandenintervallen vorhanden sind. Beispiel:
INTERVAL '2 01' DAY TO HOUR + INTERVAL '123:59' MINUTE TO SECOND
ergibt ein Intervall mit dem QualifikationsmerkmalDAY TO SECOND, da mindestens einer der Operandenwerte sowohl das Feld für 'Tag' als auch das Feld für 'Sekunde' enthält.
- Zwei Datums-/Zeitwerte subtrahieren
- Zur Rückgabe eines Intervalls können zwei Datums-/Zeitwerte subtrahiert werden. Hierfür muss einem Intervall-Qualifikationsmerkmal im Ausdruck angegeben werden, damit ersichtlich ist, in welcher Genauigkeit das Ergebnis zurückgegeben werden soll. Beispiel:
(CURRENT_DATE - DATE '1776-07-04') DAY
gibt die Anzahl der Tage zurück, die seit dem 4. Juli 1776 verstrichen sind, während
(CURRENT_TIME - TIME '00:00:00') MINUTE TO SECOND
das Alter des Tages in Minuten und Sekunden zurückgibt.
- Intervalle skalieren
- Ein Intervallwert kann mit einem Integerfaktor multipliziert oder durch diesen dividiert werden:
INTERVAL '2:30' MINUTE TO SECOND / 4