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.
Diese Operator kann auch Zeilen und Listen vergleichen. Eine Beschreibung des Listen- und Zeilen-Vergleichs finden Sie unter ROW- und LIST-Vergleiche.
Diese Operator kann auch Zeilen und Listen vergleichen. Eine Beschreibung des Listen- und Zeilen-Vergleichs finden Sie unter ROW- und LIST-Vergleiche.
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'
'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.