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 |
Significato |
---|---|
Uguale a |
|
Maggiore di |
|
Minore di |
|
Maggiore o uguale a |
|
Minore o uguale a |
|
Diverso da |
|
Diverso da (non conforme allo standard ISO) |
|
Non minore di (non conforme allo standard ISO) |
|
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, 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 AdventureWorks2012;
GO
DECLARE @MyProduct int;
SET @MyProduct = 750;
IF (@MyProduct <> 0)
SELECT ProductID, Name, ProductNumber
FROM Production.Product
WHERE ProductID = @MyProduct;