Einfache ESQL-Vergleichsoperatoren

In diesem Abschnitt werden die einfachen ESQL-Vergleichsoperatoren beschrieben. Informationen zu den komplexen ESQL-Vergleichsoperatoren erhalten Sie unter Komplexe ESQL-Vergleichsoperatoren.

ESQL verfügt über einen vollständigen Satz an Vergleichsoperatoren (Prädikaten). Jedes vergleicht zwei skalare Werte und gibt einen Booleschen Wert zurück. Wenn einer der beiden Operanden den Wert Null hat, lautet auch das Ergebnis Null. Anderenfalls hat das Ergebnis den Wert TRUE (Wahr), wenn die Bedingung erfüllt ist, bzw. den Wert FALSE (Falsch), wenn die Bedingung nicht erfüllt ist.

Vergleichsoperatoren lassen sich auf alle skalaren Datentypen anwenden. Wenn die beiden Operanden jedoch unterschiedliche Typen haben, gelten Sonderregeln. Diese werden im Abschnitt Implizite Umsetzungen beschrieben.

Einige Vergleichsoperatoren unterstützen zudem den Vergleich von Zeilen und Listen. Sie sind nachfolgend aufgeführt.

Operator >
Der erste Operand ist größer als der zweite.
Operator <
Der erste Operand ist kleiner als der zweite.
>=-Operator
Der erste Operand ist größer-gleich der zweite.
Operator <=
Der erste Operand ist kleiner-gleich der zweite.
Operator =
Der erste Operand ist gleich dem zweiten.

Diese Operator kann auch Zeilen und Listen vergleichen. Eine Beschreibung des Listen- und Zeilen-Vergleichs finden Sie unter ROW- und LIST-Vergleiche.

Operator <>
Der erste Operand ist ungleich dem zweiten.

Diese Operator kann auch Zeilen und Listen vergleichen. Eine Beschreibung des Listen- und Zeilen-Vergleichs finden Sie unter ROW- und LIST-Vergleiche.

Die Bedeutung von "gleich", "kleiner als" und "größer als" in diesem Zusammenhang lautet wie folgt:
  • Die numerischen Werte der numerischen Typen (INTEGER (GANZZAHL), FLOAT (VARIABLE), DECIMAL (DEZIMALZAHL)) werden verglichen. Daher ist 4.2 größer als 2.4 und -2.4 größer als -4.2.
  • Bei Datum/Zeit-Typen (DATE (DATUM), TIME (ZEIT), TIMESTAMP (ZEITSTEMPEL), GMTTIME (GMTZEIT), GMTTIMESTAMP (GMTZEITSTEMPEL) aber nicht für INTERVAL (INTERVALL)) ist ein späterer Zeitpunkt größer als ein früherer Zeitpunkt. Das Datum 2004-03-31 ist somit größer als das Datum 1947-10-24.
  • Beim Typ INTERVAL wird ein größeres Zeitintervall größer als ein kleineres Zeitintervall angesehen.

Bei Zeichenfolgetypen (CHARACTER (ZEICHEN), BLOB, BIT) wird lexikografisch verglichen. Beginnend von links werden die einzelnen Elemente (Zeichen, Byte oder Bit) verglichen. Wird kein Unterschied gefunden, sind die Zeichenfolgen gleich. Wenn ein Unterschied gefunden wird, sind die Werte größer, wenn das erste unterschiedliche Element im ersten Operanden größer ist als das entsprechende Element im zweiten Operanden. Das Element ist kleiner, wenn die Werte kleiner sind. In dem Sonderfall, in dem zwei Zeichenfolgen, die bis auf ihre Länge gleich sind, ist die längere Zeichenfolge größer als die kürzere. Daher gilt:

'ABD' ist größer als 'ABC'
'ABC' ist größer als 'AB'  
Abschließende Leerzeichen werden bei Zeichenvergleichen nicht beachtet. Wenn Sie also sicherstellen möchten, dass zwei Zeichenfolgen wirklich gleich sind, müssen Sie sowohl die Zeichenfolgen als auch ihre Längen vergleichen. Beispiel:
'ABC  ' ist gleich 'ABC'

Beachten Sie, dass der Vergleich der Länge von Zeichenfolgen dem Vergleich einzelner Zeichen, Byte oder Bits entspricht. Da ESQL über keine Einzelzeichen-, Einzelbyte- oder Einzelbit-Typen verfügt, werden üblicherweise Zeichenfolgen der Länge Eins zum Vergleich von Einzelzeichen-, -byte oder -bit verwendet.

Zugehörige Konzepte
Nachrichtenflüsse - Übersicht
Nachrichtenzuordnungen - Übersicht
Zugehörige Tasks
Nachrichtenflüsse entwickeln
ESQL erstellen
Zugehörige Verweise
Komplexe ESQL-Vergleichsoperatoren
Integrierte Knoten
ESQL-Referenz
ROW- und LIST-Vergleiche
Implizite Umsetzungen
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Rückmeldung
Copyright IBM Corporation 1999, 2006 Letzte Aktualisierung: 23. Aug. 2006
ak01040_