主要分分四类:算术运算符、比较运算符、逻辑运算符、位运算符。
算术运算符
运算符 | 作用 |
---|---|
+ | 加法 |
- | 减法 |
* | 乘 |
/ | 除,返回商 |
% | 求余,返回余数 |
比较运算符
比较运算结果为1、0、null。常用语select查询子句中。
运算符 | 作用 |
---|---|
= | 等于 |
<=> | 安全的等于 |
<>(!=) | 不等于,不能用于判断null |
<= | 小于等于,不能用于判断null |
< | 小于,不能用于判断null |
>= |
大于等于,不能用于判断null |
> | 大于,不能用于判断null |
IS NOT NULL | 判断一个值是否不为null |
IS NULL(isnull) | 判断一个值是否null |
greatest | 有两个或多个参数值时,返回最大值 |
least | 有两个或多个参数值时,返回最小值 |
between and | 判断值是否在两个值之间,包括边界值[] |
in | 在in列表的 |
not in | 不在in列表的 |
like | 与通配符匹配的 |
not like | 不与通配符匹配的 |
regexp | 正则 |
=
1)>=1个参数为null,结果null
2)都是字符串则按照字符串比较
3)都是数字则按数字比较
3)一个数字,一个字符串,mysql自动将字符串转换为数字,再比较
<=>
和等号区别在于可以比较null,即两个参数都为null返回1
least
in
regexp
1)^ 匹配以该字符后面的字符串开头的字符串
2)$匹配以该字符后面的字符串结尾的字符串
3).匹配任何一个单个字符
4)[…]匹配方括号内的任何字符。[ab]匹配a或b。[a-z]匹配a到z范围内的任何字母,[0-9]匹配0到9范围内的任何数字
5)匹配零个或多个在它前面的字符,f匹配任意数量的a字符。单个*匹配任意数量的任意字符。
逻辑运算符
逻辑运算符结果为1,0,null
运算符 | 作用 | 含义 |
---|---|---|
not或! | 逻辑非 | 操作数0所得数1,操作数非0所得数0,操作数null所得数null |
and或&& | 逻辑与 | 所有操作数为非0且非null结果1,>=1个操作数为0结果0,其余情况结果null。and两边必须空格 |
or或|| |
逻辑或 | 操作数均为非null或任意操作数非0结果1反之0;一个操作数null且另一个非0结果1,反之null;操作数均为null结果null |
XOR | 逻辑异或 | 任意操作数null结果null;在所有操作数非null的情况下,如果操作数均为非0或0结果0;一个0一个非0结果1 |
位运算符
待续