Basisvergleichselement (Basic Predicate)

Ein Basisvergleichselement vergleicht zwei Werte oder eine Gruppe von Werten mit einer anderen Gruppe von Werten.

Syntaxdiagramm lesenVisuelles Syntaxdiagramm überspringenAusdruckVergleichsoperatorAusdruckZeilenwertausdruckVergleichsoperatorZeilenwertausdruckboolescher Ausdruck
Vergleichsoperator
Syntaxdiagramm lesenVisuelles Syntaxdiagramm überspringen =  <> 1 <  >  <= 1 >= 1
Hinweise:

Die sechs Vergleichsoperatoren können effektiv auf der Basis von nur zwei Vergleichsoperatoren ausgedrückt werden. Wenn die Prädikatsoperanden x und ysind, können die anderen vier Vergleichsoperatoren mit den folgenden alternativen Vergleichselementen ausgedrückt werden.

Tabelle 1. Vergleichselemente und alternative Vergleichselemente
Vergleichselement Alternatives Vergleichselement
x <> y NOT (x = y)
x > y y < x
x <= y x < y ODER x = y
x >= y y < x ODER x = y

Wenn die Prädikatsoperanden als Ausdruckangegeben werden, müssen die Datentypen der Ausdrücke vergleichbar sein. Wenn der Wert eines Operanden null ist, ist das Ergebnis des Vergleichselements unbekannt. Andernfalls ist das Ergebnis entweder 'true' oder 'false'.

Tabelle 2. Vergleichselementauswertung mit skalaren Operanden
Prädikat (mit Operandenwerten x und y) boolescher Wert Nur wenn ...
x = y ist wahr x ist gleich y
x < y ist wahr x ist kleiner als y
x = y ist falsch x ist ungleich y
x < y ist falsch X = J ist 'True' oder J < X ist 'True'

Wenn die Prädikatsoperanden als zeilenwertausdruckangegeben werden, müssen sie dieselbe Anzahl von Feldern aufweisen und die Datentypen der entsprechenden Felder der Operanden müssen vergleichbar sein. Das Ergebnis des Vergleichs basiert auf Vergleichen der entsprechenden Felder in den Operanden zeilenwertausdruck .

Tabelle 3. Vergleichselementauswertung mit Zeilenoperanden
Prädikat (mit Operandenwerten Rx und Ry mit Feldern Rxi und Ryi wobei 0 < i < Anzahl der Felder) boolescher Wert Nur wenn ...
Rx = Ry ist wahr Alle Paare entsprechender Wertausdrücke sind gleich (Rxi = Ryi ist für alle Werte von Iwahr).
Rx < Ry ist wahr Die ersten N -Paare der entsprechenden Wertausdrücke sind gleich und das nächste Paar hat einen linken Wertausdruck, der kleiner als der rechte Wertausdruck für einen Wert von N ist (Rxi = Ryi ist für alle Werte von I < N wahr und Rxn < Ryn ist für einen Wert von Nwahr).
Rx = Ry ist falsch Mindestens ein Paar entsprechender Wertausdrücke ist nicht gleich (NOT (Rxi = Ryi) ist für einen Wert von Iwahr).
Rx < Ry ist falsch Alle Paare von entsprechenden Wertausdrücken sind gleich (Empfang = Ry ist wahr) oder die ersten N Paare von entsprechenden Wertausdrücken sind gleich und das nächste Paar hat den rechten Wertausdruck kleiner als den linken Wertausdruck für einen Wert von N (Rxi = Ryi ist wahr für alle Werte von I < N und Ryn < Rxn ist wahr für einen Wert von N).
Rx comparison operator Ry ist unbekannt Der Vergleich ist weder wahr noch falsch.

Boolesche Werte

Sie können ein Basisprädikat verwenden, um einen booleschen Wert mit einem anderen booleschen Wert oder mit einem Wert eines Datentyps zu vergleichen, der in einen booleschen Wert umgesetzt werden kann. Der Wert TRUE ist größer als der Wert FALSE. Beispiel:
  • TRUE = 'on' ist wahr
  • DECFLOAT(4.3) = TRUE ist wahr
  • '0' <= FALSE ist wahr
  • 'yes' <= FALSE ist falsch

Alternative Formulare

Für die Vergleichsoperatoren < >, < = und > = werden auch alternative Formate unterstützt. (Die Formate ¬ =, ¬ < und ¬ > werden nur in Codepages 437, 819 und 850 unterstützt. Die Unterstützung für diese alternativen Formulare soll nur vorhandene SQL-Anweisungen aufnehmen. Diese Formulare werden für neue SQL-Anweisungen nicht empfohlen.

Vergleichsoperator Alternative Formulare
<> ^= != ¬=
<= ^> !> ¬>
>= ^< !< ¬<

Beispiele:

   EMPNO='528671'  
   SALARY < 20000 
   PRSTAFF <> :VAR1
   SALARY > (SELECT AVG(SALARY) FROM EMPLOYEE)
  (YEARVAL, MONTHVAL) >= (2009, 10)