Operatori di confronto (Transact-SQL)

Si applica a: sìSQL Server (tutte le versioni supportate) Sìdatabase SQL di Azure SìIstanza gestita di SQL di Azure

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

Operatore Significato
= (uguale a) Uguale a
> (maggiore di) Maggiore di
< (minore di) Minore di
>= (maggiore o uguale a) Maggiore o uguale a
<= (minore o uguale a) Minore o uguale a
<> (diverso da) Diverso da
!= (Diverso da) Diverso da (non conforme allo standard ISO)
!< (non minore di) Non minore di (non conforme allo standard ISO)
!> (non maggiore di) Non maggiore di (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 note come 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, si applicano le stesse regole, ad eccezione degli operatori uguale a (=) e non uguale a (<>). Quando l'opzione SET ANSI_NULLS è impostata su OFF, questi operatori considerano NULL come valore noto, equivalente a qualsiasi altro NULL, e restituiscono solo TRUE o FALSE (mai UNKNOWN).

Le espressioni con tipi di dati Boolean vengono usate 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:

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

Vedere anche

Espressioni ( Transact-SQL )
Operatori (Transact-SQL)