Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL-database in Microsoft Fabric
Wanneer een complexe expressie meerdere operators bevat, bepaalt de operatorprioriteit de reeks bewerkingen. De volgorde van de uitvoering kan de resulterende waarde aanzienlijk beïnvloeden.
Operators hebben de prioriteitsniveaus die worden weergegeven in de volgende tabel. Een operator op een hoger niveau wordt geëvalueerd vóór een operator op een lager niveau. In de volgende tabel is 1 het hoogste niveau en 8 het laagste niveau.
| Level | Operators |
|---|---|
| 1 |
~ (bitwise NOT) |
| 2 |
* (vermenigvuldiging), / (delen), % (modulus) |
| 3 |
+(positief), (negatief), +- (optellen), + (samenvoeging), - (aftrekken), & (bitwiseAND), (bitwise exclusief), ^| (bitwise), OR(bitsgewijze OR<< linker shift), >> (bitsgewijze rechter shift) |
| 4 |
=, , <>, >=, , <=, <>, !=, , !>( !< vergelijkingsoperatoren) |
| 5 | NOT |
| 6 | AND |
| 7 |
ALL, , ANYBETWEEN, IN, , LIKE, , ORSOME |
| 8 |
= (toewijzing) |
| Level | Operators |
|---|---|
| 1 |
~ (bitwise NOT) |
| 2 |
* (vermenigvuldiging), / (delen), % (modulus) |
| 3 |
+(positief), (negatief), - (optellen), + (samenvoeging), - (aftrekken), & (bitwiseAND), (bitwise exclusieve), |^ (bitwiseOR)OR+ |
| 4 |
=, , <>, >=, , <=, <>, !=, , !>( !< vergelijkingsoperatoren) |
| 5 | NOT |
| 6 | AND |
| 7 |
ALL, , ANYBETWEEN, IN, , LIKE, , ORSOME |
| 8 |
= (toewijzing) |
Wanneer twee operators in een expressie hetzelfde prioriteitsniveau hebben, vindt de evaluatie plaats van links naar rechts op basis van hun positie in de expressie. In de expressie die in de volgende SET instructie wordt gebruikt, wordt de aftrekkingsoperator bijvoorbeeld geëvalueerd vóór de operator voor optellen.
DECLARE @MyNumber AS INT;
SET @MyNumber = 4 - 2 + 27;
-- Evaluates to 2 + 27 which yields an expression result of 29.
SELECT @MyNumber;
Gebruik haakjes om de gedefinieerde prioriteit van de operators in een expressie te overschrijven. Alles tussen haakjes wordt geëvalueerd om één waarde te opleveren. Elke operator buiten deze haakjes kan die waarde gebruiken.
In de expressie die in de volgende SET instructie wordt gebruikt, heeft de vermenigvuldigingsoperator bijvoorbeeld een hogere prioriteit dan de operator voor optellen. De vermenigvuldigingsbewerking wordt eerst geëvalueerd. Het resultaat van de expressie is 13.
DECLARE @MyNumber AS INT;
SET @MyNumber = 2 * 4 + 5;
-- Evaluates to 8 + 5 which yields an expression result of 13.
SELECT @MyNumber;
In de expressie die in de volgende SET instructie wordt gebruikt, zorgen de haakjes ervoor dat de toevoeging eerst wordt geëvalueerd. Het resultaat van de expressie is 18.
DECLARE @MyNumber AS INT;
SET @MyNumber = 2 * (4 + 5);
-- Evaluates to 2 * 9 which yields an expression result of 18.
SELECT @MyNumber;
Als een expressie geneste haakjes bevat, wordt eerst de diep geneste expressie geëvalueerd. Het volgende voorbeeld bevat geneste haakjes, met de expressie 5 - 3 in de diep genestste set haakjes. Deze expressie geeft een waarde van 2. Vervolgens voegt de optellingsoperator (+) dit resultaat toe aan 4, wat een waarde oplevert van 6. Ten slotte wordt het 6 vermenigvuldigd met 2 het resultaat van een expressie van 12.
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;