Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL databáze v Microsoft Fabric
Pokud komplexní výraz obsahuje více operátorů, priorita operátoru určuje posloupnost operací. Pořadí provádění může významně ovlivnit výslednou hodnotu.
Operátory mají úrovně priority uvedené v následující tabulce. Operátor na vyšší úrovni se vyhodnotí před operátorem na nižší úrovni. V následující tabulce je 1 nejvyšší úroveň a 8 je nejnižší úroveň.
| Level | Operators |
|---|---|
| 1 |
~ (bitwise NOT) |
| 2 |
* (násobení), / (dělení), % (moduly) |
| 3 |
+(kladné), (záporné), - (sčítání), ++ (zřetězení), - (odčítání), & (bitwise AND), (bitwise exclusive OR), | (bitwise OR), ^<< (bitový levý posun), >> (bitový pravý posun) |
| 4 |
=, >, , <, >=, <=, <>, !=, , !>, ( !< relační operátory) |
| 5 | NOT |
| 6 | AND |
| 7 |
ALL, ANY, BETWEEN, IN, LIKE, , ORSOME |
| 8 |
= (přiřazení) |
| Level | Operators |
|---|---|
| 1 |
~ (bitwise NOT) |
| 2 |
* (násobení), / (dělení), % (moduly) |
| 3 |
+(kladné), (záporné), - (sčítání), ++ (zřetězení), - (odčítání), (bitwise AND), & (bitwise exclusive ^OR), | (bitwise OR) |
| 4 |
=, >, , <, >=, <=, <>, !=, , !>, ( !< relační operátory) |
| 5 | NOT |
| 6 | AND |
| 7 |
ALL, ANY, BETWEEN, IN, LIKE, , ORSOME |
| 8 |
= (přiřazení) |
Pokud mají dva operátory ve výrazu stejnou úroveň priority, vyhodnocení se provede zleva doprava na základě jejich pozice ve výrazu. Například ve výrazu použitém v následujícím SET příkazu se operátor odčítání vyhodnotí před operátorem sčítání.
DECLARE @MyNumber AS INT;
SET @MyNumber = 4 - 2 + 27;
-- Evaluates to 2 + 27 which yields an expression result of 29.
SELECT @MyNumber;
Pomocí závorek můžete přepsat definovanou prioritu operátorů ve výrazu. Vše v závorkách se vyhodnocuje tak, aby přineslo jednu hodnotu. Jakýkoli operátor mimo tyto závorky může tuto hodnotu použít.
Například ve výrazu použitém v následujícím SET příkazu má operátor násobení vyšší prioritu než operátor sčítání. Operace násobení se vyhodnotí jako první. Výsledek výrazu je 13.
DECLARE @MyNumber AS INT;
SET @MyNumber = 2 * 4 + 5;
-- Evaluates to 8 + 5 which yields an expression result of 13.
SELECT @MyNumber;
Ve výrazu použitém v následujícím SET příkazu způsobí závorky první vyhodnocení přidání. Výsledek výrazu je 18.
DECLARE @MyNumber AS INT;
SET @MyNumber = 2 * (4 + 5);
-- Evaluates to 2 * 9 which yields an expression result of 18.
SELECT @MyNumber;
Pokud má výraz vnořené závorky, vyhodnotí se jako první nejhůře vnořený výraz. Následující příklad obsahuje vnořené závorky s výrazem 5 - 3 v nejhlublejší sadě závorek. Tento výraz dává hodnotu 2. Operátor sčítání (+) pak přidá tento výsledek , 4který vrátí hodnotu 6. Nakonec se vynásobí 62 výsledkem výrazu 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;