12.6运算符的优先级
由于在实际应用中可能需要同时使用多个运算符。这就必须考虑运算符的运算顺序。 到底谁先运算。谁后运算?本小节将给读者讲解运算符的优先级。MySQL的表达式都是 从左到右开始运算,哪个运算符的优先级高?哪个运算符先进行计算?下表列出了MySQL支持的所有运算符的优先级。按照表从上到下,优先级依次降低。同一行中的优 先级相同。优先级相同时,表达式左边的运算符先运算。
优先级 | 运算符 | 优先级 | 运算符 |
---|---|---|---|
1 | ! | 8 | | |
2 | ~ | 9 | =,<=>,<,<=,>,>=,!=,<>,IN,IS NULL,LIKE,REGEXP |
3 | ^ | 10 | BETWEEN AND, CASE,WHEN,THEN,ELSE |
4 | *,/,DIV,%,MOD | 11 | NOT |
5 | +,- | 12 | &&,AND |
6 | >>,<< | 13 | ||,OR,XOR |
7 | & | 4 | := |
读者可以根据上表的内容来参考运算符的优先级。但是,实际使用中更多的使用“()” 来将优先计算的内容括起来。这样用起来更加简单,而且可读性更强。