Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применимо к:SQL Server
База данных
SQL AzureУправляемый экземпляр
SQL AzureБаза данных SQL в Microsoft Fabric
Операторы сравнения позволяют проверить, одинаковы ли два выражения. Операторы сравнения можно применять ко всем выражениям, за исключением выражений типов text, ntext и image. Операторы сравнения Transact-SQL приведены в следующей таблице.
| Operator | Meaning |
|---|---|
| = (Равно) | Равняется |
| > (Больше чем) | Больше чем |
| < (Меньше чем) | Меньше |
| >= (Больше или равно) | Больше или равно |
| <= (Меньше или равно) | Меньше или равно |
| <> (Не равно) | Не равно |
| \!= (не равно) | Не равно (не определено стандартом ISO) |
| !< (Не меньше) | Не меньше (не определено стандартом ISO) |
| !> (Не больше) | Не больше (не определено стандартом ISO) |
Тип данных Boolean
Результат выполнения оператора сравнения имеет тип данных Boolean. Он имеет три значения: TRUE, FALSE и UNKNOWN. Выражения, возвращающие значения типа Boolean, называются логическими.
В отличие от других типов данных SQL Server, логический тип данных не может быть указан в качестве типа данных столбца таблицы или переменной и не может быть возвращен в результирующем наборе.
Когда SET ANSI_NULLS ON, оператор с одним или двумя NULL-выражениями возвращает UNKNOWN. Когда SETSET ANSI_NULLS OFF, применяются те же правила, за исключением операторов равных (=) и не равных (<>). Когда SET ANSI_NULLS ВЫКЛЮЧЕН, эти операторы рассматривают NULL как известное значение, эквивалентное любому другому NULL, и возвращают только TRUE или FALSE (никогда не неизвестно).
Выражения со значениями типа 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;