Operatori di confronto (Transact-SQL)

Gli operatori di confronto consentono di confrontare due espressioni. Possono essere utilizzati in qualsiasi espressione, ad eccezione delle espressioni di tipo text, ntext o image. Nella tabella seguente vengono elencati gli operatori di confronto Transact-SQL.

Operatore

Descrizione

= (uguale a)

Uguale a

> (maggiore di)

Maggiore di

< (minore di)

Minore di

>= (maggiore o uguale a)

Maggiore o uguale a

<= (non maggiore di)

Minore o uguale a

<> (diverso da)

Diverso da

!= (diverso da)

Diverso da (non conforme allo standard ISO)

!< (maggiore o uguale a)

Maggiore o uguale a (non conforme allo standard ISO)

!> (minore o uguale a)

Minore o uguale a (non conforme allo standard ISO)

Tipo di dati Boolean

Il risultato di un operatore di confronto è espresso nel tipo di dati Boolean. I possibili valori sono tre: TRUE, FALSE e UNKNOWN. Le espressioni che restituiscono un tipo di dati Boolean sono denominate espressioni booleane.

A differenza di altri tipi di dati di SQL Server, un tipo di dati Boolean non può essere specificato per una colonna di tabella o una variabile e non può essere restituito in un set di risultati.

Quando l'opzione SET ANSI_NULLS è impostata su ON, un operatore con una o due espressioni NULL restituisce UNKNOWN. Quando l'opzione SET ANSI_NULLS è impostata su OFF, vengono applicate le stesse regole, ma l'operatore di uguaglianza (=) restituisce TRUE quando entrambe le espressioni sono NULL. Ad esempio, se SET ANSI_NULLS è impostata su OFF, NULL = NULL restituisce TRUE.

Le espressioni con tipi di dati Boolean vengono utilizzate nella clausola WHERE per filtrare le righe che soddisfano le condizioni di ricerca e in istruzioni con elementi del linguaggio per il controllo di flusso quali IF e WHILE, ad esempio:

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