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 Preview
Wanneer een complexe expressie meerdere operators heeft, 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 hogere niveaus 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 NIET) |
| 2 | * (Vermenigvuldiging), / (Delen), % (Modulus) |
| 3 | + (positief), - (negatief), + (optellen), + (samenvoeging), - (aftrekken), & (bitwise AND), ^ (bitwise exclusief OF), | (Bitwise OR) |
| 4 | =, >, =><, =, <<>!=, !=, !, !>< (vergelijkingsoperatoren) |
| 5 | NOT |
| 6 | AND |
| 7 | ALLE, ALLE, TUSSEN, IN, LIKE, OF, SOMMIGE |
| 8 | = (Assignment) |
Wanneer twee operators in een expressie hetzelfde prioriteitsniveau hebben, worden ze van links naar rechts geëvalueerd 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 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. Deze waarde kan door elke operator buiten deze haakjes worden gebruikt.
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 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 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 optellen-operator (+) dit resultaat 4 toe waaraan een waarde van 6. Ten slotte wordt het 6 vermenigvuldigd met 2 het resultaat van een expressie van 12.
DECLARE @MyNumber 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;
See Also
Logische operators (Transact-SQL)
Operators (Transact-SQL)
Ingebouwde functies (Transact-SQL)