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

ОБЛАСТЬ ПРИМЕНЕНИЯ: даSQL Server нетБаза данных SQL AzureнетХранилище данных SQL AzureнетParallel Data WarehouseAPPLIES TO: yesSQL Server noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

Операторы сравнения позволяют проверить, одинаковы ли два выражения.Comparison operators test whether two expressions are the same. Операторы сравнения можно применять ко всем выражениям, за исключением выражений типов text, ntext и image.Comparison operators can be used on all expressions except expressions of the text, ntext, or image data types. Операторы сравнения Transact-SQLTransact-SQL приведены в следующей таблице:The following table lists the Transact-SQLTransact-SQL comparison operators.

ОператорOperator ЗначениеMeaning
= (равно)= (Equals) РавноEqual to
> (больше)> (Greater Than) Больше чемGreater than
< (меньше)< (Less Than) Меньше чемLess than
>= (больше или равно)>= (Greater Than or Equal To) Больше или равноGreater than or equal to
<= (меньше или равно)<= (Less Than or Equal To) Меньше или равноLess than or equal to
<> (не равно)<> (Not Equal To) Не равноNot equal to
!= (не равно)!= (Not Equal To) Не равно (не определено стандартом ISO)Not equal to (not ISO standard)
!< (не меньше)!< (Not Less Than) Не меньше (не определено стандартом ISO)Not less than (not ISO standard)
!> (не больше чем)!> (Not Greater Than) Не больше (не определено стандартом ISO)Not greater than (not ISO standard)

Тип данных BooleanBoolean Data Type

Результат выполнения оператора сравнения имеет тип данных Boolean.The result of a comparison operator has the Boolean data type. Он может иметь одно из трех значений: TRUE, FALSE и UNKNOWN.This has three values: TRUE, FALSE, and UNKNOWN. Выражения, возвращающие значения типа Boolean, называются логическими.Expressions that return a Boolean data type are known as Boolean expressions.

В отличие от других типов данных SQL ServerSQL Server, тип Boolean не может быть типом столбца таблицы или переменной и не может быть возвращен в результирующем наборе.Unlike other SQL ServerSQL Server data types, a Boolean data type cannot be specified as the data type of a table column or variable, and cannot be returned in a result set.

Если параметр SET ANSI_NULLS имеет значение ON, оператор, в число операндов которого входит хотя бы одно выражение NULL, возвращает UNKNOWN.When SET ANSI_NULLS is ON, an operator that has one or two NULL expressions returns UNKNOWN. Если параметр SET ANSI_NULLS имеет значение OFF, применяются те же правила, за исключением операторов равенства (=) и неравенства (<>).When SET ANSI_NULLS is OFF, the same rules apply, except for the equals (=) and not equals (<>) operators. Если параметр SET ANSI_NULLS имеет значение OFF, эти операторы обрабатывают значение NULL как известное значение, эквивалентное любым другим значениям NULL, и возвращают только значение TRUE или FALSE (и никогда UNKNOWN).When SET ANSI_NULLS is OFF, these operators treat NULL as a known value, equivalent to any other NULL, and only return TRUE or FALSE (never UNKNOWN).

Выражения со значениями типа Boolean используются в предложении WHERE для фильтрации строк, удовлетворяющих условиям поиска, и в инструкциях языка управления потоком, таких как IF и WHILE, например:Expressions with Boolean data types are used in the WHERE clause to filter the rows that qualify for the search conditions and in control-of-flow language statements such as IF and WHILE, for example:

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

См. также:See Also

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