Spec-Zone .ru
спецификации, руководства, описания, API

12.3.1. Приоритет оператора

Приоритеты оператора показывают в следующем списке от наивысшего приоритета до самого низкого. У операторов, которые показывают вместе на строке, есть тот же самый приоритет.

INTERVALBINARY, COLLATE!- (unary minus), ~ (unary bit inversion)^*, /, DIV, %, MOD-, +<<, >>&|= (comparison), <=>, >=, >, <=, <, <>, !=, IS, LIKE, REGEXP, INBETWEEN, CASE, WHEN, THEN, ELSENOT&&, ANDXOR||, OR= (assignment), :=

Приоритет = зависит от того, используется ли это в качестве оператора сравнения (=) или как оператор присваивания (=). Когда использующийся в качестве оператора сравнения, у этого есть тот же самый приоритет как <=>, >=, >, <=, <, <>, !=, IS, LIKE, REGEXP, и IN. Когда использующийся в качестве оператора присваивания, у этого есть тот же самый приоритет как :=. Раздел 13.7.4,"SET Синтаксис", и Раздел 9.4, "Определяемые пользователем Переменные", объясняют, как MySQL определяет который интерпретация = должен применяться.

Значение некоторых операторов зависит от режима SQL:

См. Раздел 5.1.7, "Режимы SQL Сервера".

Приоритет операторов определяет порядок оценки сроков в выражении. Чтобы переопределить этот порядок и групповые сроки явно, используйте круглые скобки. Например:

mysql> SELECT 1+2*3;        -> 7mysql> SELECT (1+2)*3;        -> 9