Vergleichsoperatoren (Transact-SQL)
Vergleichsoperatoren testen, ob zwei Ausdrücke gleichwertig sind. Vergleichsoperatoren können für alle Ausdrücke angewendet werden, außer für Ausdrücke der Datentypen text, ntext oder image. In der folgenden Tabelle werden die Transact-SQL-Vergleichsoperatoren aufgelistet.
Operator |
Bedeutung |
---|---|
Gleich |
|
Größer als |
|
Kleiner als |
|
Größer gleich |
|
Kleiner gleich |
|
Ungleich |
|
Nicht gleich (kein ISO-Standard) |
|
Nicht kleiner als (kein ISO-Standard) |
|
Nicht größer als (kein ISO-Standard) |
Boolesche Datentypen
Das Ergebnis eines Vergleichsoperators weist den Datentyp Boolean auf. Es kann drei Werte annehmen: TRUE, FALSE und UNKNOWN. Ausdrücke, die einen Wert vom Datentyp Boolean zurückgeben, werden auch als boolesche Ausdrücke bezeichnet.
Ein Boolean-Datentyp kann nicht wie die anderen SQL Server-Datentypen als Datentyp für eine Tabellenspalte oder eine Variable angegeben werden. Boolesche Werte können auch nicht in einem Resultset zurückgegeben werden.
Wenn SET ANSI_NULLS auf ON festgelegt ist, gibt ein Operator mit einem oder zwei NULL-Ausdrücken UNKNOWN zurück. Wenn SET ANSI_NULLS auf OFF festgelegt ist, gelten die gleichen Regeln; allerdings gibt der Gleichheitsoperator (=) TRUE zurück, wenn beide Ausdrücke NULL sind. So gibt beispielsweise NULL = NULL den Wert TRUE zurück, wenn SET ANSI_NULLS auf OFF festgelegt ist.
Ausdrücke mit Boolean Datentypen werden in den WHERE-Klauseln zum Filtern von Zeilen verwendet, die bestimmten Suchbedingungen entsprechen. Außerdem werden sie in den Sprachkonstrukten zur Ablaufsteuerung, wie z. B. IF und WHILE, verwendet. Beispiel:
USE AdventureWorks2012;
GO
DECLARE @MyProduct int;
SET @MyProduct = 750;
IF (@MyProduct <> 0)
SELECT ProductID, Name, ProductNumber
FROM Production.Product
WHERE ProductID = @MyProduct;