MySQL的运算符及运算符的优先级

MySQL 主要有以下几种运算符:

  • 算术运算符
  • 比较运算符
  • 逻辑运算符
  • 位运算符

1、算术运算符

MySQL 支持的算术运算符包括:

运算符作用备注
+加法
减法
*乘法
/ 或 DIV除法
% 或 MOD取余

在除法运算和模运算中,如果除数为0,将是非法除数,返回结果为NULL。

2、比较运算符

SELECT 语句中的条件语句经常要使用比较运算符。通过这些比较运算符,可以判断表中的哪些记录是符合条件的。比较结果为真,则返回 1,为假则返回 0,比较结果不确定则返回 NULL。

符号描述备注
=等于
<>, !=不等于
>大于
<小于
<=小于等于
>=大于等于
BETWEEN在两值之间>=min&&<=max
NOT BETWEEN不在两值之间
IN在集合中
NOT IN不在集合中
<=>安全等于,严格比较两个NULL值是否相等与 = 的区别在于,当两个操作码均为NULL时,其所得值为1而不为 NULL;而当一个操作码为NULL时,其所得值为0而不为 NULL
LIKE模糊匹配
REGEXP 或 RLIKE正则式匹配
IS NULL为空
IS NOT NULL不为空

3、逻辑运算符

逻辑运算符用来判断表达式的真假。如果表达式是真,结果返回 1。如果表达式是假,结果返回 0。

运算符号作用备注
NOT 或 !逻辑非
AND逻辑与
OR逻辑或
XOR逻辑异或

4、位运算符

位运算符是在二进制数上进行计算的运算符。位运算会先将操作数变成二进制数,进行位运算。然后再将计算结果从二进制数变回十进制数。

运算符号作用备注
&按位与
|按位或
^按位异或
!取反
<<左移
>>右移

5、运算符优先级

  • 最低优先级为: :=
  • 最高优先级为: !、BINARY、 COLLATE。
MySQL的运算符及运算符的优先级插图

发表评论