Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Felügyelt Azure SQL-példány
SQL-adatbázis a Microsoft Fabricben
Ha egy összetett kifejezés több operátort tartalmaz, az operátorok elsőbbsége határozza meg a műveletek sorrendjét. A végrehajtás sorrendje jelentősen befolyásolhatja az eredményként kapott értéket.
Az operátorok elsőbbséget élveznek az alábbi táblázatban. A magasabb szintű operátorok kiértékelése egy alacsonyabb szintű operátor előtt történik. Az alábbi táblázatban az 1 a legmagasabb, a 8 pedig a legalacsonyabb szint.
| Level | Operators |
|---|---|
| 1 |
~ (bitenkénti NOT) |
| 2 |
* (szorzás), / (osztás), % (modulus) |
| 3 |
+(pozitív), - (negatív), + (összeadás), + (összefűzés), - (kivonás), & (bitenkénti AND^ ), (bitenkénti kizárólagosOR), | (bitenkénti ORbaleltolás), << (bitenkénti bal eltolás), >> (bitenkénti jobb eltolás) |
| 4 |
=, >, <, >=, <=, <>!=, , !>, !< (összehasonlító operátorok) |
| 5 | NOT |
| 6 | AND |
| 7 |
ALL, ANY, BETWEEN, INLIKE, ORSOME |
| 8 |
= (hozzárendelés) |
| Level | Operators |
|---|---|
| 1 |
~ (bitenkénti NOT) |
| 2 |
* (szorzás), / (osztás), % (modulus) |
| 3 |
+(pozitív), - (negatív), + (összeadás), + (összefűzés), - (kivonás), & (bitenkénti AND), ^ (bitenkénti kizárólagos OR), | (bitenkénti )OR |
| 4 |
=, >, <, >=, <=, <>!=, , !>, !< (összehasonlító operátorok) |
| 5 | NOT |
| 6 | AND |
| 7 |
ALL, ANY, BETWEEN, INLIKE, ORSOME |
| 8 |
= (hozzárendelés) |
Ha egy kifejezés két operátora azonos elsőbbséget élvez, a kiértékelés balról jobbra történik a kifejezésben elfoglalt helyük alapján. A következő SET utasításban használt kifejezésben például a kivonási operátor kiértékelése az összeadási operátor előtt történik.
DECLARE @MyNumber AS INT;
SET @MyNumber = 4 - 2 + 27;
-- Evaluates to 2 + 27 which yields an expression result of 29.
SELECT @MyNumber;
Zárójelek használatával felülbírálhatja az operátorok definiált elsőbbségét egy kifejezésben. A zárójelen belüli összes érték kiértékelése egyetlen értéket eredményez. A zárójelen kívüli operátorok használhatják ezt az értéket.
Az alábbi SET utasításban használt kifejezésben például a szorzási operátor elsőbbsége magasabb, mint az összeadási operátor. Először a szorzási műveletet értékeli ki a rendszer. A kifejezés eredménye .13
DECLARE @MyNumber AS INT;
SET @MyNumber = 2 * 4 + 5;
-- Evaluates to 8 + 5 which yields an expression result of 13.
SELECT @MyNumber;
A következő SET utasításban használt kifejezésben a zárójelek a hozzáadás kiértékelését okozzák először. A kifejezés eredménye .18
DECLARE @MyNumber AS INT;
SET @MyNumber = 2 * (4 + 5);
-- Evaluates to 2 * 9 which yields an expression result of 18.
SELECT @MyNumber;
Ha egy kifejezés beágyazott zárójelekkel rendelkezik, először a legmélyebb beágyazott kifejezés lesz kiértékelve. Az alábbi példa beágyazott zárójeleket tartalmaz, és a kifejezés 5 - 3 a zárójelek legmélyén beágyazott halmazában található. Ez a kifejezés a 2értéket adja meg. Ezután az összeadási operátor (+) hozzáadja ezt az eredményt 4, amely a következő értéket 6adja hozzá: . Végül a 6 szorzat megszorzódik 2 a kifejezés eredményének eredményével 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;