Udostępnij za pomocą


Operatory porównania (Transact-SQL)

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceBaza danych SQL w usłudze Microsoft Fabric

Operatory porównania testują, czy dwa wyrażenia są takie same. Operatory porównania mogą być używane we wszystkich wyrażeniach z wyjątkiem wyrażeń tekstu, ntekstu lub typów danych obrazów . W poniższej tabeli wymieniono operatory porównania Transact-SQL.

Operator Meaning
= (równa się) Równa się
> (Większe niż) Większe niż
< (Mniej niż) Mniejsze niż
>= (Większe niż lub równe) Większe niż lub równe
<= (mniejsze niż lub równe) Mniej lub równe
<> (Nie równa się) Nie równa się
!= (nie równa się) Nie równe (a nie standard ISO)
!< (Nie mniej niż) Nie mniej niż (nie standard ISO)
!> (Nie większe niż) Nie większe niż (nie standard ISO)

Typ danych logicznych

Wynik operatora porównania ma typ danych logicznych . Ma to trzy wartości: TRUE, FALSE i UNKNOWN. Wyrażenia zwracające typ danych logicznych są nazywane wyrażeniami logicznymi.

W przeciwieństwie do innych typów danych programu SQL Server nie można określić typu danych logicznych jako typu danych kolumny lub zmiennej tabeli i nie można ich zwrócić w zestawie wyników.

Gdy ustawienie set ANSI_NULLS jest włączone, operator, który ma jedno lub dwa wyrażenia NULL, zwraca wartość UNKNOWN. Jeśli ustawienie set ANSI_NULLS jest wyłączone, obowiązują te same reguły, z wyjątkiem operatorów równości (=) i nie równa (<>). Jeśli ustawienie SET ANSI_NULLS jest wyłączone, te operatory traktują wartość NULL jako znaną wartość, równoważną innej wartości NULL i zwracają tylko wartość TRUE lub FALSE (nigdy NIE JEST ZNANA).

Wyrażenia z typami danych logicznych są używane w klauzuli WHERE do filtrowania wierszy, które kwalifikują się do warunków wyszukiwania i w instrukcjach języka sterowania przepływem, takich jak IF i WHILE, na przykład:

-- Uses AdventureWorks  
  
DECLARE @MyProduct INT;  
SET @MyProduct = 750;  
IF (@MyProduct <> 0)  
   SELECT ProductID, Name, ProductNumber  
   FROM Production.Product  
   WHERE ProductID = @MyProduct;  

Zobacz też

Wyrażenia (Transact-SQL)
Operatory (Transact-SQL)