Opérateurs composés (Transact-SQL)
Les opérateurs composés exécutent une opération particulière et affectent une valeur d'origine au résultat de l'opération. Par exemple, si une variable @x est égale à 35, alors @x += 2 prend la valeur d'origine de @x, ajoute 2 et affecte à @x cette nouvelle valeur (37).
Transact-SQL fournit les types d'opérateurs composés suivants :
Opérateur |
Lien vers des informations supplémentaires |
Action |
---|---|---|
+= |
Ajoute un montant à la valeur d'origine et affecte la valeur d'origine au résultat. |
|
-= |
Soustrait un montant de la valeur d'origine et affecte la valeur d'origine au résultat. |
|
*= |
Multiplie par un montant et affecte la valeur d'origine au résultat. |
|
/= |
Divise par un montant et affecte la valeur d'origine au résultat. |
|
%= |
Divise par un montant et affecte la valeur d'origine au modulo. |
|
&= |
Effectue une opération de bits AND et affecte la valeur d'origine au résultat. |
|
^= |
Effectue une opération de bits OR exclusive et affecte la valeur d'origine au résultat. |
|
|= |
Effectue une opération de bits OR et affecte la valeur d'origine au résultat. |
Syntaxe
expression operator expression
Arguments
- expression
Toute expression valide de tout type de données de catégorie numérique.
Types de résultats
Retourne le type de données de l'argument ayant la priorité la plus élevée. Pour plus d'informations, consultez Priorités des types de données (Transact-SQL).
Notes
Pour plus d'informations, consultez les rubriques relatives à chaque opérateur.
Exemples
Les exemples suivants illustrent des opérations composées.
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;