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

Область применения: SQL Server (все поддерживаемые версии) База данных SQL Azure Управляемый экземпляр SQL Azure

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

Оператор Значение
= (равно) Равно
> (Больше чем) Больше чем
< (Меньше чем) Меньше чем
>= (Больше или равно) Больше или равно
<= (Меньше или равно) Меньше или равно
<> (Не равно) Не равно
!= (не равно) Не равно (не определено стандартом ISO)
!< (Не меньше) Не меньше (не определено стандартом ISO)
!> (Не больше) Не больше (не определено стандартом ISO)

Логический тип данных

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

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

Если параметр 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;  

См. также

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