Numerische Operatoren mit Werten für Datum und Uhrzeit (DATETIME) verwenden

Im Folgenden finden Sie einige Beispiele des ESQL-Codes, den Sie zur Bearbeitung der Datum/Zeitwerte mit numerischen Operatoren codieren können.

Einem Datum/Zeitwert ein Intervall hinzufügen
Die einfachste Operation, die ausgeführt werden kann, besteht darin, einem Datum/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

Im folgenden Beispiel wird gezeigt, wie das Datum des Rentenbeginns durch das Hinzufügen des Rentenalters zum Geburtsdatum berechnet wird.

DECLARE retAge CHARACTER '65';
DECLARE birthDate DATE DATE '1953-06-01';

SET OutputRoot.XML.Test.retirementDate = birthDate + CAST(retAge AS INTERVAL YEAR);

Der Begriff DATE wird im Beispiel bewusst wiederholt. Beim ersten Mal wird durch DATE der Datentyp der deklarierten Variablen (birthDate) angegeben. Beim zweiten Mal wird die gleiche Variable mit den konstanten Zeichenfolge initialisiert, die in Anführungszeichen als DATE eingefügt ist.

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 Tag/Sekundenintervall ein Jahr/Monatintervall 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 Datum/Zeit-Werte subtrahieren
Zur Rückgabe eines Intervalls können zwei Datum/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
Sie können einen Intervallwert mit einem ganzzahligen Faktor multiplizieren oder durch einen ganzzahligen Faktor dividieren:
INTERVAL '2:30' MINUTE TO SECOND / 4
Zugehörige Konzepte
Nachrichtenflüsse - Übersicht
ESQL-Operatoren
Nachrichtenzuordnungen - Übersicht
Zugehörige Tasks
Nachrichtenflüsse entwickeln
ESQL erstellen
Zeitintervall berechnen
Zugehörige Verweise
Integrierte Knoten
ESQL-Referenz
ESQL-Datentyp INTERVAL
Einfache ESQL-Vergleichsoperatoren
Logische ESQL-Operatoren
Numerische ESQL-Operatoren
Regeln zur Vorrangstellung für ESQL-Operatoren
CAST-Funktion
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Feedback

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009.
Letzte Aktualisierung : 2009-02-17 15:28:19

ac16750_