Поделиться через


Операторы сравнения (Transact-SQL)

Применимо к:SQL ServerБаза данных Azure SQLУправляемый экземпляр Azure SQLБаза данных SQL в предварительной версии Microsoft Fabric

Операторы сравнения позволяют проверить, одинаковы ли два выражения. Операторы сравнения можно применять ко всем выражениям, за исключением выражений типов text, ntext и image. Операторы сравнения Transact-SQL приведены в следующей таблице.

Operator Meaning
= (Equals) Equal to
> (Больше чем) Greater than
< (Меньше чем) Less than
>= (Больше или равно) Больше или равно
<= (Меньше или равно) Меньше или равно
<> (Не равно) Не равно
\!= (не равно) Не равно (не определено стандартом ISO)
!< (Не меньше) Не меньше (не определено стандартом ISO)
!> (Не больше) Не больше (не определено стандартом ISO)

Тип данных Boolean

Результат выполнения оператора сравнения имеет тип данных Boolean. Он имеет три значения: TRUE, FALSE и UNKNOWN. Выражения, возвращающие значения типа Boolean, называются логическими.

В отличие от других типов данных SQL Server, логический тип данных не может быть указан в качестве типа данных столбца таблицы или переменной и не может быть возвращен в результирующем наборе.

Если параметр SET ANSI_NULLS имеет значение ON, оператор, в число операндов которого входит хотя бы одно выражение NULL, возвращает UNKNOWN. Если параметр SET ANSI_NULLS имеет значение OFF, применяются те же правила, за исключением операторов равенства (=) и неравенства (<>). Если параметр SET ANSI_NULLS имеет значение OFF, эти операторы обрабатывают значение NULL как известное значение, эквивалентное любым другим значениям NULL, и возвращают только значение TRUE или FALSE (и никогда UNKNOWN).

Выражения со значениями типа Boolean используются в предложении WHERE для фильтрации строк, удовлетворяющих условиям поиска, и в инструкциях языка управления потоком, таких как IF и WHILE, например:

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

See Also

Expressions (Transact-SQL)
Operators (Transact-SQL)