Operatori composti (Transact-SQL)
Gli operatori composti consentono di eseguire alcune operazioni e impostano un valore originale sul risultato dell'operazione. Ad esempio, se una variabile @x è uguale a 35, all'espressione @x += 2 viene assegnato il valore originale di @x, quindi viene aggiunto il valore 2 e @x viene impostata sul nuovo valore (37).
In Transact-SQL sono disponibili i seguenti operatori composti:
Operatore |
Collegamento a ulteriori informazioni |
Azione |
---|---|---|
+= |
Aggiunge una quantità al valore originale e imposta il valore originale sul risultato. |
|
-= |
Sottrae una quantità dal valore originale e imposta il valore originale sul risultato. |
|
*= |
Moltiplica una valore per una quantità e imposta il valore originale sul risultato. |
|
/= |
Divide un valore per una quantità e imposta il valore originale sul risultato. |
|
%= |
Divide un valore per una quantità e imposta il valore originale sul modulo. |
|
&= |
Esegue un'operazione con AND bit per bit e imposta il valore originale sul risultato. |
|
^= |
Esegue un'operazione con OR esclusivo bit per bit e imposta il valore originale sul risultato. |
|
|= |
Esegue un'operazione con OR bit per bit e imposta il valore originale sul risultato. |
Sintassi
expression operator expression
Tipi restituiti
Restituisce il tipo di dati dell'argomento con la priorità più alta. Per ulteriori informazioni, vedere Precedenza dei tipi di dati (Transact-SQL).
Osservazioni
Per ulteriori informazioni, vedere gli argomenti correlati a ogni operatore.
Esempi
Negli esempi seguenti vengono illustrate le operazioni composte.
DECLARE @x1 int = 27;
SET @x1 += 2 ;
SELECT @x1 AS Added_2;
DECLARE @x2 int = 27;
SET @x2 -= 2 ;
SELECT @x2 AS Subtracted_2;
DECLARE @x3 int = 27;
SET @x3 *= 2 ;
SELECT @x3 AS Multiplied_by_2;
DECLARE @x4 int = 27;
SET @x4 /= 2 ;
SELECT @x4 AS Divided_by_2;
DECLARE @x5 int = 27;
SET @x5 %= 2 ;
SELECT @x5 AS Modulo_of_27_divided_by_2;
DECLARE @x6 int = 9;
SET @x6 &= 13 ;
SELECT @x6 AS Bitwise_AND;
DECLARE @x7 int = 27;
SET @x7 ^= 2 ;
SELECT @x7 AS Bitwise_Exclusive_OR;
DECLARE @x8 int = 27;
SET @x8 |= 2 ;
SELECT @x8 AS Bitwise_OR;