四:MySQL中的运算符

自作多情 提交于 2019-11-30 03:02:34

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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!