MySQL遵循运算符优先级,它具有以下运算符列表,具有相同的优先级且位于同一行 -
INTERVAL
BINARY, COLLATE
!
- (unary minus), ~ (unary bit inversion)
^
*, /, DIV, %, MOD
-, +
<<, >>
&
|
=, <=>, >=, >, <=, <, <>, !=, IS, LIKE, REGEXP, IN
BETWEEN, CASE, WHEN, THEN, ELSE
NOT
&&, AND
XOR
||, OR
:=
对于表达式中出现相同优先级的运算符,计算从左到右进行。
示例
下面的示例显示了运算符优先级对结果集 -
mysql> Select 5+3/2-2;
+---------+
| 5+3/2-2 |
+---------+
| 4.5000 |
+---------+
1 row in set (0.00 sec)
在上面的计算中,MySQL 首先计算 /(div),因为它的优先级高于 +(加法)或 –(减法)。