FirebirdSQL logo

Приоритет операторов

Приоритет определяет порядок, в котором операторы и получаемые с помощью них значения вычисляются в выражении.

Все операторы разбиты на 4 типа.Каждый тип оператора имеет свой приоритет.Чем выше приоритет типа оператора, тем раньше он будет вычислен.Внутри одного типа операторы имеют собственный приоритет, который также определяет порядок их вычисления в выражении.Операторы с одинаковым приоритетом вычисляются слева направо.Для изменения порядка вычислений операции могут быть сгруппированы с помощью круглых скобок.

Table 1. Приоритеты типов операторов
Тип оператора Приоритет Пояснение

Конкатенация

1

Строки объединяются до выполнения любых других операций.

Арифметический

2

Арифметические операции выполняются после конкатенациистрок, но перед выполнением операторов сравнения илогических операций.

Сравнение

3

Операции сравнения вычисляются после конкатенации строк ивыполнения арифметических операций, но до логическихопераций.

Логический

4

Логические операторы выполняются после всех других типовоператоров.

Оператор конкатенации

Оператор конкатенации || соединяет две символьные строки и создаёт одну строку.Символьные стоки могут быть константами или значениями, полученными из столбцов или других выражений.

Example 1. Оператор конкатенации
SELECT LAST_NAME || ', ' || FIRST_NAME AS FULL_NAME
FROM EMPLOYEE

Арифметические операторы

Table 1. Приоритет арифметических операторов
Оператор Назначение Приоритет

+signed_number

Унарный плюс

1

-signed_number

Унарный минус

1

*

Умножение

2

/

Деление

2

+

Сложение

3

-

Вычитание

3

Example 1. Арифметические операторы
UPDATE T
SET A = 4 + 1/(B-C)*D

Операторы сравнения

Table 1. Операторы сравнения
Оператор Назначение Приоритет

IS

Проверяет, что выражение в левой части является псевдозначением NULL или соответствует логическому значению вправой части.

1

=

Равно, идентично

2

<>, !=, ~=, ^=

Не равно

2

>

Больше

2

<

Меньше

2

>=

Больше или равно

2

<=

Меньше или равно

2

!>, ~>, ^>

Не больше

2

!<, ~<, ^<

Не меньше

2

В эту же группу входят предикаты сравнения IS DISTINCT FROM, BETWEEN, IN, LIKE, CONTAINING, SIMILAR TO и другие.

Example 1. Использование оператора сравнения
IF (SALARY > 1400) THEN
...