Операторы сравнения (Transact-SQL)
Область применения: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure базе данных SQL в Microsoft Fabric
Операторы сравнения позволяют проверить, одинаковы ли два выражения. Операторы сравнения можно применять ко всем выражениям, за исключением выражений типов text, ntext и image. Операторы сравнения Transact-SQL приведены в следующей таблице.
Оператор | Значение |
---|---|
= (равно) | Равно |
> (Больше чем) | Больше |
< (Меньше чем) | Меньше |
>= (Больше или равно) | Больше или равно |
<= (Меньше или равно) | Меньше или равно |
<> (Не равно) | Не равно |
\!= (не равно) | Не равно (не определено стандартом 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;