Condividi tramite


Operatori di confronto (Transact-SQL)

Si applica a: SQL Server database SQL di Azure Istanza gestita di SQL di Azure database SQL in Microsoft Fabric

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 diverso da (<>). 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;  

Vedi anche

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