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

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

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

Когда выражение содержит несколько операторов одного и того же типа, операторы вычисляются слева направо, если только не существует конфликта, когда два оператора одного и того же типа воздействуют на одни и те же значения. Когда возникает конфликт, приоритет операторов определяется типом. В табл. 21.2 показаны приоритеты типов операторов Firebird от высшего к низшему.

Таблица 21.2. Приоритеты типов операторов

Тип оператора

Приоритет

Объяснение

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

1

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

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

2

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

Сравнение

3

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

Логический

4

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

Приоритет: когда условия поиска являются комбинированными, порядок вычислений определяется приоритетом используемых операторов, NOT вычисляется перед AND, а AND вычисляется перед OR. Круглые скобки могут использоваться для изменения порядка вычисления