In diesem Abschnitt werden die komplexen ESQL-Vergleichsoperatoren (Prädikate) beschrieben. Informationen zu den einfachen ESQL-Vergleichsoperatoren erhalten Sie unter Einfache ESQL-Vergleichsoperatoren.
(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.
EXISTS(SELECT * FROM etwas WHERE Prädikat)
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.
Das Muster wird durch eine Zeichenfolge angegeben, wobei das Prozentzeichen (%) und das Unterstreichungszeichen (_) als Sonderzeichen verwendet werden können:
Body.Trade.Company LIKE 'I__'
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 '$'