MySQL 运算符
mysql 主要分为:
算术运算符
比较运算符
逻辑运算符
位运算符
算数运算符
在除法运算和模运算中,如果除数为0,将是非法除数,返回结果为NULL。
比较运算符
SELECT 语句中的条件语句经常要使用比较运算符。通过这些比较运算符,可以判断表中的哪些记录是符合条件的。比较结果为真,则返回 1,为假则返回 0,比较结果不确定则返回 NULL。
安全等于
与 = 的区别在于当两个操作码均为 NULL 时,其所得值为 1 而不为 NULL,而当一个操作码为 NULL 时,其所得值为 0而不为 NULL。
mysql> select 2<=>3;
±------+
| 2<=>3 |
±------+
| 0 |
±------+
mysql> select null=null;
±----------+
| null=null |
±----------+
| NULL |
±----------+
mysql> select null<=>null;
±------------+
| null<=>null |
±------------+
| 1 |
±------------+
逻辑运算符
逻辑运算符用来判断表达式的真假。如果表达式是真,结果返回 1。如果表达式是假,结果返回 0。
位运算符
位运算符是在二进制数上进行计算的运算符。位运算会先将操作数变成二进制数,进行位运算。然后再将计算结果从二进制数变回十进制数。
运算符优先级
优先级顺序 | 运算符 |
---|---|
1 | := |
2 | || ,OR,XOR |
3 | &&,AND |
4 | NOT |
5 | BETWEEN,CASE,WHEN,THEN,ELSE |
6 | =,<=>,>=,<=,<,<>,!=,IS,LIKE,REGEXP,IN |
7 | | |
8 | & |
9 | <<,>> |
10 | -,+ |
11 | *,/,DIV,%,MOD |
12 | ^ |
13 | -(一元减号),~(一元比特反转) |
14 | ! |
运算符最低优先级为:
:=
最高优先级为:
!,BINARY,COLLATE