MySQL支持许多整理的运算符,其中主要包括以下几类:算数运算符、比较运算符、逻辑运算符、位运算符。
算数运算符
运算符 | 作用 |
---|---|
+ | 加法 |
- | 减法 |
* | 乘法 |
/ 或 DIV | 除法 |
% 或 MOD | 取余 |
示例:
//数字之间和数字与NULL之间的运算
select
1 + 1,
1 + null,
10 - 1,
10 - null,
10 * 2,
10 * null,
10 / 1,
10 / 0,
10 / null,
10 % 3,
10 % null;
运算结果
与NULL做运算结果都为NULL,除法和求模计算除数不可以为0,否则返回NULL。
比较运算符
运算符 | 作用 |
---|---|
= | 等于 |
<> 或 ! | 不等于 |
<==> | NULL安全的等于 |
< | 小于 |
<= | 小于等于 |
> | 大于 |
>= | 大于等于 |
BETWEEN | 计算指定范围 |
IN | 存在某集合 |
IS NULL 和 IS NOT NULL | 是否为NULL |
示例:
//各种运算符 之间但比较 和 与 NULL值比较的结果
SELECT
1 = 0,
1 = 1,
'a' = 'a',
'a' = 65,
0 = null,
1 > null,
1 > 10,
1 > 0,
1 < null,
1 IN (1, 2, 3),
null IN (1, 2, 3),
null IN (1, 2, 3, 0),
null IN (1, 2, 3, 0, null),
1 IS NULL,
null IS NULL,
10 BETWEEN 10 AND 20,
10 BETWEEN null AND 20,
null BETWEEN 10 AND 20,
null BETWEEN 0 AND 20
结果
与NULL做运算的时候反悔结果为NULL,同时NULL在做IN运算的时候也会返回NULL,使用 字符 与 数字进行比较的时候 返回结果 0 但是会触发一个warnning;
逻辑运算符
运算符号 | 作用 |
---|---|
NOT 或 ! | 逻辑非 |
AND | 逻辑与 |
OR | 逻辑或 |
XOR | 逻辑异或 |
示例
select
1 and 1,
1 and 0,
0 and 0,
1 and 1,
1 and null,
null and 1,
0 and null,
null and 0,
null and null,
1 or 0,
0 or 1,
0 or 0,
1 or 1,
null or 0,
null or 1,
null xor 1,
null xor 0,
1 xor 1,
1 xor 0,
NOT NULL,
NOT 1,
NOT 0\G
结果
AND与null进行运算返回结果为null,OR与null运算除非另一个为非0,否则为null,NOT与null计算结果也为null
位运算符
运算符号 | 作用 |
---|---|
& | 按位与 |
| | 按位或 |
^ | 按位异或 |
! | 取反 |
<< | 左移 |
>> | 右移 |
MySQL的位运算与C中的位运算一样,所以不做记录。
其他运算符
运算符 | 作用 |
---|---|
LIKE | 进行模糊匹配 |
REGEXP 或 RLIKE | 进行正则匹配 |
关于正则匹配相关的可以查看MySQL官方手册,传送门:MySQL Regular Expressions
来源:oschina
链接:https://my.oschina.net/u/226106/blog/734077