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