Opérateurs de comparaison (Transact-SQL)

Les opérateurs de comparaison testent si deux expressions sont identiques. Ils peuvent s'utiliser sur toutes les expressions, à l'exception des expressions de type text, ntext ou image. Le tableau suivant répertorie les opérateurs de comparaison Transact-SQL.

Opérateur

Description

= (Égal à)

Égal à

> (Supérieur à)

Supérieur à

< (Inférieur à)

Inférieur à

>= (Supérieur ou égal à)

Supérieur ou égal à

<= (Inférieur ou égal à)

Inférieur ou égal à

<> (Différent de)

Différent de

!= (Différent de)

Différent de (hors norme ISO)

!< (Non inférieur à)

Non inférieur à (hors norme ISO)

!> (Non supérieur à)

Non supérieur à (hors norme ISO)

Type de données Boolean

Le résultat d'un opérateur de comparaison est de type Boolean et peut prendre trois valeurs : TRUE, FALSE et UNKNOWN. Les expressions qui retournent un type de données Boolean sont dites expressions booléennes.

À la différence des autres types de données SQL Server, le type de données Boolean ne peut être spécifié pour une colonne de table ou une variable et il ne peut être retourné dans un jeu de résultats.

Lorsque SET ANSI_NULLS est activé (ON), un opérateur ayant une ou deux expressions de valeur NULL retourne UNKNOWN. Si SET ANSI_NULLS est désactivé (OFF), les mêmes règles s'appliquent, mais il reste à noter qu'un opérateur d'égalité (=) retourne la valeur TRUE si les deux expressions ont pour valeur NULL. Par exemple, NULL = NULL retourne TRUE si SET ANSI_NULLS est désactivé (OFF).

Les expressions de type Boolean s'utilisent dans la clause WHERE pour filtrer les lignes qui répondent aux critères de recherche et dans les instructions de langage de contrôle de flux, telles que IF et WHILE. Par exemple :

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