MySQL运算符优先级如何影响结果集?

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),因为它的优先级高于+(加法)或–(减法)。

猜你喜欢