算术运算符
运算符 |
作用 |
+ |
加法 |
- |
减法 |
* |
乘法 |
/ 或 DIV |
除法 |
% 或 MOD |
取余 |
逻辑运算符
运算符 |
作用 |
NOT 或 ! |
逻辑非 |
AND |
逻辑与 |
OR |
逻辑或 |
XOR |
逻辑异或 |
比较运算符
运算符 |
描述 |
备注 |
= |
等于 |
|
<>, != |
不等于 |
|
> |
大于 |
|
< |
小于 |
|
<= |
小于等于 |
|
>= |
大于等于 |
|
BETWEEN |
在两值之间 |
>=min&&<=max |
NOT BETWEEN |
不在两值之间 |
|
IN |
在集合中 |
|
NOT IN |
不在集合中 |
|
<=> |
严格比较两个NULL值是否相等 |
两个操作码均为NULL时,其所得值为1;而当一个操作码为NULL时,其所得值为0 |
LIKE |
模糊匹配 |
|
REGEXP 或 RLIKE |
正则式匹配 |
|
IS NULL |
为空 |
|
IS NOT NULL |
不为空 |
位运算符
运算符 |
作用 |
& |
按位与 |
| |
按位或 |
^ |
按位异或 |
! |
取反 |
<< |
左移 |
>> |
右移 |
运算符优先级
优先级由低到高排列 |
运算符 |
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 按表达式的顺序从左到右依次计算。
另外,在无法确定优先级的情况下,可以使用圆括号“()”来改变优先级,并且这样会使计算过程更加清晰。