Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Применимо к:SQL Server
База данных
SQL AzureУправляемый экземпляр
SQL AzureБаза данных SQL в Microsoft Fabric
Если сложное выражение содержит несколько операторов, приоритет оператора определяет последовательность операций. Порядок исполнения может существенно повлиять на результирующее значение.
Уровни приоритета операторов показаны в следующей таблице. Оператор на более высоком уровне вычисляется перед оператором на более низком уровне. В следующей таблице самым высоким уровнем является 1, а самым низким — 8.
| Level | Operators |
|---|---|
| 1 |
~(битовая)NOT |
| 2 |
* (умножение), / (деление), % (модуль) |
| 3 |
+(положительное), - (отрицательное + ), (добавление), + (сцепление), - (вычитание), & (AND^битовая эксклюзивная), (битовая OR<< стрелка OR| влево), (битовая стрелка влево), >> (битовая стрелка вправо) |
| 4 |
=, >, <, >=!=!><=<>( !< операторы сравнения) |
| 5 | NOT |
| 6 | AND |
| 7 |
ALL, ANY, BETWEENINLIKEORSOME |
| 8 |
= (назначение) |
| Level | Operators |
|---|---|
| 1 |
~(битовая)NOT |
| 2 |
* (умножение), / (деление), % (модуль) |
| 3 |
+(положительное), (отрицательное), (добавление), + (сцепление), - (вычитание), & (ANDбитовая эксклюзивная), ^| (побитоваяOR)OR-+ |
| 4 |
=, >, <, >=!=!><=<>( !< операторы сравнения) |
| 5 | NOT |
| 6 | AND |
| 7 |
ALL, ANY, BETWEENINLIKEORSOME |
| 8 |
= (назначение) |
Если два оператора в выражении имеют одинаковый уровень приоритета, оценка выполняется слева направо на основе их позиции в выражении. Например, в выражении, используемом в следующей SET инструкции, оператор вычитания вычисляется перед оператором добавления.
DECLARE @MyNumber AS INT;
SET @MyNumber = 4 - 2 + 27;
-- Evaluates to 2 + 27 which yields an expression result of 29.
SELECT @MyNumber;
Чтобы изменить приоритет операторов в выражении, следует использовать скобки. Все находящееся внутри скобок вычисляется для получения одного значения. Любой оператор за пределами этих скобок может использовать это значение.
Например, если выражение использует инструкцию SET, то у оператора умножения более высокий приоритет, чем у оператора сложения. Сначала вычисляется операция умножения. Результатом выражения будет 13.
DECLARE @MyNumber AS INT;
SET @MyNumber = 2 * 4 + 5;
-- Evaluates to 8 + 5 which yields an expression result of 13.
SELECT @MyNumber;
В выражении следующей инструкции SET скобки показывают, что сначала нужно вычислить операцию сложения. Результатом выражения будет 18.
DECLARE @MyNumber AS INT;
SET @MyNumber = 2 * (4 + 5);
-- Evaluates to 2 * 9 which yields an expression result of 18.
SELECT @MyNumber;
Если в выражении содержатся вложенные скобки, то сначала вычисляется результат наиболее глубоко вложенных скобок. В следующем примере показано использование вложенных скобок, в наиболее глубоко вложенных скобках записано выражение 5 - 3. Результатом этого выражения будет 2. Затем оператор сложения (+) добавляет этот результат в 4, что дает значение 6. Наконец, 6 умножается на 2, чтобы получить результат выражения 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;