王新阳

wangxinyang

MySQL运算符优先级

常常发现很多基础的知识才是最重要的,是我们修复Bug的利器。

#MySQL运算符的优先级

运算符的优先级决定了不同的运算符在表达式中计算的先后顺序。

MySQL中所有运算符的优先级的顺序按照从高到低,从上到下,依次降低。一般情况下,级别高的运算符先进行计算,如果级别相同,MySQL按照表达式的顺序从左到右依次计算。

MySQL运算符的优先级如下:

优先级 运算符
(最高)  !
 3     -(负号),~(按位取反)
 4     ^(按位异或)
 5     *,/(DIV),%(MOD)
 6     +,-
 7     >>,<<
 8     &
 9     |
10     =(比较运算),<=>,<,<=,>,>=,!=,<>,IN,IS NULL,LIKE,REGEXP
11    BETWEEN AND,CASE,WHEN,THEN,ELSE
12    NOT
13    &&,AND
14    XOR
15    ||,OR
(最低)    =(赋值运算),:=

我们可以看出,不同运算符的优先级是不同的。在无法确定优先级的情况下,可以使用圆括号()来改变优先级,并且这样会使计算过程更加清晰。

2017-05-04
2024-05-04 星期六 农历三月二十六