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

Применимо к:база данныхSQL Server Azure SQL Управляемый экземпляр 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)