Implizite CAST-Umsetzungen für Rechenoperationen

In diesem Abschnitt werden die verfügbaren impliziten CAST-Umsetzungen für Rechenoperationen aufgelistet.

Normalerweise werden die arithmetischen Operatoren (+, -, * und /) für Operanden desselben Datentyps angewendet und geben einen Wert mit demselben Datentyp wie die Operanden zurück. Fälle, in denen Operanden einen anderen Datentyp haben dürfen oder sich der Datentyp des Ergebniswertes vom Typ des Operanden unterscheidet, werden in der folgenden Tabelle gezeigt.

In der folgenden Tabelle werden die impliziten CAST-Umsetzungen für Rechenoperationen aufgelistet.
Datentyp linker Operand Datentyp rechter Operand Unterstützte Operatoren Datentyp des Ergebnisses
INTEGER FLOAT +, -, *, / FLOAT1
INTEGER DECIMAL +, -, *, / DECIMAL1
INTEGER INTERVAL * INTERVAL4
FLOAT INTEGER +, -, *, / FLOAT1
FLOAT DECIMAL +, -, *, / FLOAT1
FLOAT INTERVAL * INTERVAL4
DECIMAL INTEGER +, -, *, / DECIMAL1
DECIMAL FLOAT +, -, *, / FLOAT1
DECIMAL INTERVAL * INTERVAL4
TIME TIME - INTERVAL2
TIME GMTTIME - INTERVAL2
TIME INTERVAL +, - TIME3
GMTTIME TIME - INTERVAL2
GMTTIME GMTTIME - INTERVAL2
GMTTIME INTERVAL +, - GMTTIME3
DATE DATE - INTERVAL2
DATE INTERVAL +, - DATE3
TIMESTAMP TIMESTAMP - INTERVAL2
TIMESTAMP GMTTIMESTAMP - INTERVAL2
TIMESTAMP INTERVAL +, - TIMESTAMP3
GMTTIMESTAMP TIMESTAMP - INTERVAL2
GMTTIMESTAMP GMTTIMESTAMP - INTERVAL2
GMTTIMESTAMP INTERVAL +, - GMTTIMESTAMP3
INTERVAL INTEGER *, / INTERVAL4
INTERVAL FLOAT *, / INTERVAL4
INTERVAL DECIMAL *, / INTERVAL4
INTERVAL TIME + TIME3
INTERVAL GMTTIME + GMTTIME3
INTERVAL DATE + DATE3
INTERVAL TIMESTAMP + TIMESTAMP3
INTERVAL GMTTIMESTAMP + GMTTIMESTAMP3
Hinweise:
  1. Der Operand, der nicht mit dem Datentyp des Ergebnisses übereinstimmt, wird vor Beginn der Operation in den Datentyp des Ergebnisses umgesetzt. Wenn beispielsweise der linke Operand bei einem Operator für eine Addition den Datentyp INTEGER hat und der rechte Operand den Typ FLOAT, wird der linke Operand vor Ausführung der Addition in einen FLOAT-Typ umgesetzt.
  2. Das Ergebnis der Subtraktion eines (GMT)TIME-Wertes von einem (GMT)TIME-Wert, eines DATE-Wertes von einem DATE-Wert oder eines (GMT)TIMESTAMP-Wertes von einem (GMT)TIMESTAMP-Wert ist ein INTERVAL-Wert, der das Zeitintervall zwischen den beiden Operanden angibt.
  3. Das Ergebnis einer Addition oder Subtraktion eines INTERVAL-Wertes von einem (GMT)TIME-, DATE- oder (GMT)TIMESTAMP-Wert ist ein neuer Wert mit dem Datentyp des Nicht-INTERVAL-Operanden und gibt den Zeitpunkt an, der sich aus dem ursprünglichen Nicht-INTERVAL-Wert plus bzw. minus dem Zeitraum, der als INTERVAL-Wert angegeben ist, ergibt.
  4. Das Ergebnis einer Multiplikation oder Division eines INTERVAL-Wertes mit einem bzw. durch einen INTEGER-, FLOAT- oder DECIMAL-Wert ist ein neuer INTERVAL-Wert, der den Zeitraum angibt, der sich aus dem ursprünglichen Wert multipliziert mit oder dividiert durch den im Nicht-INTERVAL-Operanden angegebenen Wert ergibt. Beispielsweise ergibt ein INTERVAL-Wert von 2 Stunden 16 Minuten multipliziert mit einem FLOAT-Wert von 2,5 den neuen INTERVAL-Wert 5 Stunden 40 Minuten. Die Zwischenrechnungen im Rahmen der Multiplikation oder Division des ursprünglichen INTERVAL-Wertes werden in dem Datentyp des Nicht-INTERVAL-Wertes ausgeführt, die einzelnen Felder des INTERVAL-Wertes (z. B. HOUR, YEAR usw.) sind jedoch immer eine ganze Zahl, d. h., es können Rundungsfehler auftreten.
Zugehörige Konzepte
Übersicht zu ESQL
Zugehörige Tasks
ESQL erstellen
Zugehörige Verweise
Komplexe ESQL-Funktionen
Implizite Umsetzungen
Implizite CAST-Umsetzungen für Vergleiche
Implizite CAST-Umsetzungen für Zuordnungen
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Rückmeldung
Copyright IBM Corporation 1999, 2006 Letzte Aktualisierung: 23. Aug. 2006
ak05710_