Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à :SQL Server
Azure SQL Database
Azure SQL Managed Instance
Base de données SQL dans Microsoft Fabric
Lorsqu’une expression complexe contient plusieurs opérateurs, la priorité de l’opérateur détermine la séquence d’opérations. Cet ordre peut affecter considérablement la valeur résultante.
L'ordre de priorité des opérateurs est indiqué dans le tableau suivant. Un opérateur d’un niveau supérieur est évalué avant qu’un opérateur soit inférieur. Dans le tableau suivant, 1 est le niveau le plus élevé et 8 est le niveau le plus bas.
| Level | Operators |
|---|---|
| 1 |
~ (au niveau NOTdu bit) |
| 2 |
* (multiplication), / (division), % (module) |
| 3 |
+(positif), (négatif), - (addition), ++ (concaténation), - (soustraction), & (au niveau ANDdu bit ), ^ (au niveau du bit exclusif OR), (au niveau du bit ), <<| (au niveau du bit ORmaj gauche), >> (au niveau du bit à droite) |
| 4 |
=, , ><=<><>=, !=, !>!< ( opérateurs de comparaison) |
| 5 | NOT |
| 6 | AND |
| 7 |
ALL, ANY, , INBETWEEN, LIKE, , OR,SOME |
| 8 |
= (affectation) |
| Level | Operators |
|---|---|
| 1 |
~ (au niveau NOTdu bit) |
| 2 |
* (multiplication), / (division), % (module) |
| 3 |
+(positif), (négatif), -+ (addition), + (concaténation), - (soustraction), (au niveau ANDdu bit ), ^& (au niveau du bit exclusif OR), | (au niveau ORdu bit ) |
| 4 |
=, , ><=<><>=, !=, !>!< ( opérateurs de comparaison) |
| 5 | NOT |
| 6 | AND |
| 7 |
ALL, ANY, , INBETWEEN, LIKE, , OR,SOME |
| 8 |
= (affectation) |
Lorsque deux opérateurs d’une expression ont le même niveau de priorité, l’évaluation se produit de gauche à droite en fonction de leur position dans l’expression. Par exemple, dans l’expression utilisée dans l’instruction suivante SET , l’opérateur de soustraction est évalué avant l’opérateur d’addition.
DECLARE @MyNumber AS INT;
SET @MyNumber = 4 - 2 + 27;
-- Evaluates to 2 + 27 which yields an expression result of 29.
SELECT @MyNumber;
Utilisez des parenthèses pour modifier la priorité habituelle des opérateurs dans une expression. Tout ce qui se trouve entre parenthèses est évalué pour produire une seule valeur. Tout opérateur en dehors de ces parenthèses peut utiliser cette valeur.
Par exemple, dans l'expression utilisée dans l'instruction SET, l'opérateur de multiplication est prioritaire par rapport à l'opérateur d'addition. L’opération de multiplication est évaluée en premier. Le résultat de l'expression est 13.
DECLARE @MyNumber AS INT;
SET @MyNumber = 2 * 4 + 5;
-- Evaluates to 8 + 5 which yields an expression result of 13.
SELECT @MyNumber;
Dans l’expression utilisée dans l’instruction SET suivante, les parenthèses font que l’addition est évaluée en premier. Le résultat de l'expression est 18.
DECLARE @MyNumber AS INT;
SET @MyNumber = 2 * (4 + 5);
-- Evaluates to 2 * 9 which yields an expression result of 18.
SELECT @MyNumber;
Si une expression comporte des parenthèses imbriquées, c'est l'expression la plus imbriquée qui est évaluée en premier. L'exemple suivant contient des parenthèses imbriquées ; l'expression 5 - 3 se trouve dans les parenthèses les plus imbriquées. Le résultat de cette expression est 2. Ensuite, l’opérateur d’ajout (+) ajoute ce résultat à 4, ce qui génère une valeur de 6. Enfin, la valeur 6 est multipliée par 2, ce qui produit le résultat 12 pour l'expression.
DECLARE @MyNumber AS INT;
SET @MyNumber = 2 * (4 + (5 - 3));
-- Evaluates to 2 * (4 + 2) which then evaluates to 2 * 6, and
-- yields an expression result of 12.
SELECT @MyNumber;