MySQL运算符的优先级

7个月前 (04-27)
运算符的优先级决定了不同的运算符在表达式中计算的先后顺序,下表列出了 MySQL 中的各类运算符及其优先级。

优先级由低到高排列

运算符

1

=(赋值运算)、:=

2

II、OR

3

XOR

4

&&、AND

5

NOT

6

BETWEEN、CASE、WHEN、THEN、ELSE

7

=(比较运算)、<=>、>=、>、<=、<、<>、!=、 IS、LIKE、REGEXP、IN

8

|

9

&

10

<<、>>

11

-(减号)、+

12

*、/、%

13

^

14

-(负号)、〜(位反转)

15

!


可以看出,不同运算符的优先级是不同的。一般情况下,级别高的运算符优先进行计算,如果级别相同,MySQL 按表达式的顺序从左到右依次计算。

另外,在无法确定优先级的情况下,可以使用圆括号“()”来改变优先级,并且这样会使计算过程更加清晰。