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
Argomenti
- expression
Espressione valida di uno dei tipi di dati della categoria dei tipi numerici.
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;