Komplexe ESQL-Vergleichsoperatoren

In diesem Abschnitt werden die komplexen ESQL-Vergleichsoperatoren (Prädikate) beschrieben. Informationen zu den einfachen ESQL-Vergleichsoperatoren erhalten Sie unter Einfache ESQL-Vergleichsoperatoren.

BETWEEN-Operator
Mit diesem Operator können Sie feststellen, ob ein Wert zwischen zwei verschiedenen Werten liegt.

Dieser Operator existiert in zwei Formen: SYMMETRIC (SYMMETRISCH) und ASYMMETRIC (ASYMMETRISCH) (letztere wird standardmäßig verwendet, wenn keine Form angegeben ist). Das Format SYMMETRIC entspricht Folgendem:

(Quelle >= Grenzwert1 AND Quelle <= Grenzwert2) OR
(Quelle >= Grenzwert2 AND Quelle <= Grenzwert1)

Das Format ASYMMETRIC entspricht Folgendem:

Quelle >= Grenzwert1 AND Quelle <= Grenzwert2

Das Format ASYMMETRIC ist einfacher, gibt jedoch nur dann das erwartete Ergebnis zurück, wenn der erste Grenzwert kleiner ist als der zweite Grenzwert. Die Verwendung ist nur dann sinnvoll, wenn es sich bei den Ausdrücken für Grenzwertbedingungen um Literale handelt.

Handelt es sich bei den Operanden um unterschiedliche Typen, gelten Sonderregelungen. Eine Beschreibung finden Sie unter Implizite Umsetzungen.

Operator EXISTS
Der EXISTS-Operator gibt einen Booleschen Wert zurück, der angibt, ob eine SELECT-Funktion einen oder mehrere Werte (TRUE) oder keinen Wert (FALSE) zurückgegeben hat.
EXISTS(SELECT * FROM etwas WHERE Prädikat)
IN-Operator
Mit diesem Operator können Sie feststellen, ob ein Wert einem der in einer Liste enthaltenen Werte entspricht.

Das Ergebnis ist TRUE, wenn der linke Operand kein NULL-Wert und gleich einem der rechten Operanden ist. Das Ergebnis ist FALSE, wenn der linke Operand kein NULL-Wert ist und keinem der rechten Operanden entspricht (von denen keiner ein NULL-Wert ist). Andernfalls wird als Ergebnis UNKNOWN zurückgegeben. Handelt es sich bei den Operanden um unterschiedliche Typen, gelten Sonderregelungen. Eine Beschreibung finden Sie unter Implizite Umsetzungen.

IS-Operator
MIT DEM OPERATOR IS PRüFEN SIE, OB EIN AUSDRUCK EINEN SONDERWERT ZURüCKGEGEBEN HAT.

Primärer Zweck des Operators IS ist die Prüfung, ob ein Wert NULL ist. Der Vergleichsoperator (=) lässt dies nicht zu, da bei einem Vergleich mit NULL das Ergebnis ebenfalls NULL lautet.

Mit dem Operator IS können Sie zudem auf die Booleschen Werte TRUE und FALSE hin prüfen und Dezimalwerte für Sonderwerte testen. Diese werden in einer beliebigen Kombination aus Groß- und Kleinschreibung mit INF, +INF, -INF, NAN (keine Zahl) und NUM (eine gültige Zahl) bezeichnet. Die alternative Formate +INFINITY, -INFINITY und NUMBER werden auch akzeptiert.

Wenn der Operator für nicht numerische Typen verwendet wird, wird das Ergebnis 'FALSE' zurückgegeben.

LIKE-Operator
Der Operator LIKE sucht nach Zeichenfolgen, die einem BESTIMMTEN MUSTER FOLGEN.

Das Ergebnis lautet TRUE, wenn keiner der Operanden NULL ist und der Operand source (Quelle) dem Musteroperanden entspricht. Das Ergebnis lautet FALSE, wenn keiner der Operanden NULL ist und der Operand source (Quelle) nicht dem Musteroperanden entspricht. Andernfalls wird als Ergebnis UNKNOWN zurückgegeben.

Das Muster wird durch eine Zeichenfolge angegeben, wobei das Prozentzeichen (%) und das Unterstreichungszeichen (_) als Sonderzeichen verwendet werden können:

  • Das Unterstreichungszeichen '_' steht für ein einzelnes Zeichen.
    Mit dem folgenden Ausdruck werden als Übereinstimmungen beispielsweise IBM und IGI, nicht jedoch International Business Machines IBM Corp zurückgegeben:
    Body.Trade.Company LIKE 'I__'
  • Das Prozentzeichen % steht für kein oder mehrere Zeichen.
    Mit dem folgenden Ausdruck werden als Übereinstimmungen beispielsweise IBM, IGI, International Business Machines und IBM Corp zurückgegeben:
    Body.Trade.Company LIKE 'I%'

Sollen das Prozent- und das Unterstreichungszeichen in Ausdrücken, nach denen gesucht wird, verwendet werden, muss diesen Sonderzeichen ein Escapezeichen vorangestellt werden, für das in der Regel der umgekehrte Schrägstrich (\) verwendet wird (Standardeinstellung).

Mit dem folgenden Prädikat beispielsweise wird eine Übereinstimmung mit IBM_Corp zurückgegeben.

Body.Trade.Company LIKE 'IBM\_Corp'

Sie können auch ein anderes Escapezeichen angeben, indem Sie die Escape-Klausel verwenden. Beispielsweise kann das vorherige Beispiel auch wie folgt angegeben werden:

Body.Trade.Company LIKE 'IBM$_Corp' ESCAPE '$'
Operator SINGULAR
Der Operator SINGULAR gibt den Booleschen Wert TRUE (wahr) zurück, wenn die Liste genau ein Element enthält, andernfalls gibt er FALSE (falsch) zurück.
Zugehörige Konzepte
Nachrichtenflüsse - Übersicht
Nachrichtenzuordnungen - Übersicht
Zugehörige Tasks
Nachrichtenflüsse entwickeln
ESQL erstellen
Zugehörige Verweise
Einfache 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
ak01045_