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.
(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. Diese werden im Abschnitt Implizite Umsetzungen beschrieben.

Operator EXISTS
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. 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. Diese werden im Abschnitt Implizite Umsetzungen beschrieben.

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

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 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 Escape-Zeichen 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 Escape-Zeichen 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
(wahr) zurück, wenn die Liste genau ein Element enthält, andernfalls gibt er FALSE (falsch) zurück.
Zugehörige Konzepte
Nachrichtenflüsse - Übersicht
Nachrichtenzuordnung - Übersicht
Zugehörige Tasks
Nachrichtenflüsse entwickeln
ESQL erstellen
Zugehörige Verweise
Einfache ESQL-Vergleichsoperatoren
Integrierte Knoten
ESQL-Referenz
Vergleiche mit ROW und LIST
Implizite Umsetzungen
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Rückmeldung
Copyright IBM Corporation 1999, 2005 Letzte Aktualisierung: Nov 17, 2005
ak01045_