算数运算符
运算符 | 作用 |
---|---|
+ | 加法 |
- | 减法 |
* | 乘法 |
/, DIV | 除法,返回商 |
%, MOD | 除法,返回余数 |
- 在除法和取模运算中,如果除数为0,返回结果为null。
MOD(a,b)
与a%b
效果一样。比较运算符
MySQL允许用户在使用select
语句时对左右操作数进行比较,结果为真范围1,假返回0,不确定返回null。
运算符 | 作用 |
---|---|
= | 等于 |
<>或!= | 不等 |
<=> | null安全的等于(null-safe) |
< | 小于 |
<= | 小于等于 |
> | 大于 |
/>= | 大于等于 |
between | 存在于指定的范围 |
in | 存在于指定的集合 |
is null | 为null |
is not null | 不为null |
like | 通配符匹配 |
regexp或rlike | 正则表达式匹配 |
null不能用于等和不等比较
select 1=2, 1=1, null=null, 1<>1, null<>null;
+-----+-----+-----------+------+------------+
| 1=2 | 1=1 | null=null | 1<>1 | null<>null |
+-----+-----+-----------+------+------------+
| 0 | 1 | NULL | 0 | NULL |
+-----+-----+-----------+------+------------+
<=>与=类似,但可以用于null比较
select null <=> null; +---------------+ | null <=> null | +---------------+ | 1 | +---------------+
between
: 用法为a between min and max
。当a大于等于min,小于等于max时为真。in
的用法为a in (value1,value2,value3)
。like
运算符使用格式为a like %123%
。逻辑运算符
运算符 | 作用 |
---|---|
NOT或! | 逻辑非 |
AND或&& | 逻辑与 |
OR或|| | 逻辑或 |
XOR | 逻辑异或 |
not null
的返回值为null
。and
中有任何一个操作数为null
,结果都为null
。OR
,如果一个操作数为null
,另一个为非0值,则结果为1,否则结果为null
。若两个数都为null
,结果为null
。XOR
,任意一个操作数为null
,结果为null
。位运算符
运算符 | 作用 |
---|---|
& | 位与 |
| | 位或 |
^ | 位异或 |
~ | 位取反 |
/>> | 位右移 |
/<< | 位左移 |
运算符的优先级
优先级顺序 | 运算符 |
---|---|
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 | ! |