Поделиться через


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

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

Оператор

Значение

= (равно)

Равно

> (больше)

Больше

< (меньше)

Меньше

>= (больше или равно)

Больше или равно

<= (меньше или равно)

Меньше или равно

<> (не равно)

Не равно

!= (не равно)

Не равно (не определено стандартом ISO)

!< (не меньше)

Не меньше (не определено стандартом ISO)

!> (не больше)

Не больше (не определено стандартом ISO)

Тип данных Boolean

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

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

Если параметр SET ANSI_NULLS имеет значение ON, оператор, в число операндов которого входит хотя бы одно выражение NULL, возвращает UNKNOWN. Когда параметр SET ANSI_NULLS имеет значение OFF, действуют те же правила, однако если оба выражения равны NULL, то оператор равенства (=) возвращает TRUE. Например, если параметр SET ANSI_NULLS имеет значение OFF, при обработке выражения NULL = NULL будет возвращено TRUE.

Выражения со значениями типа Boolean используются в предложении WHERE для фильтрации строк, удовлетворяющих условиям поиска, и в инструкциях управления потоком выполнения, таких как IF и WHILE, например:

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