1、安全等于运算符(<=>)

SELECT NULL <=> NULL
UNION ALL
SELECT NULL <=> 1
union ALL
SELECT 1<=>0
UNION all
SELECT NULL = NULL

注意此运算符和等于(=)的区别在于判断两个值都为空的时候,执行结果如下:

换行符 mysql文本_位运算


2、LEAST运算符

作用:获取多个参数值中的最小值

注意:不要混合数据类型使用

SELECT least(2,0),LEAST('a','b','c','d'),least(10,20,NULL)

换行符 mysql文本_字符串_02


混合使用出现错误

换行符 mysql文本_字符串_03


3、GREATEST运算符

作用:获取多个参数中的最大值

注意:null值

换行符 mysql文本_换行符 mysql文本_04


4、REGEXP运算符

作用:正则式

SELECT 'ssky' REGEXP '^s','ssky' REGEXP 'y$' ,'ssky' REGEXP '.sky','ssky' REGEXP '[s]*';

换行符 mysql文本_位运算_05


由结果可以看到,指定匹配字符串为ssky。

‘^s’表示匹配任何以字母s开头的字符串,因此满足匹配条件,返回1;

‘y$’表示匹配任何以字母y结尾的字符串,因此满足匹配条件,返回1;

‘.sky’表示匹配任何以sky结尾,字符长度为4的字符串,因此满足匹配条件,返回1;

‘^s’表示匹配任何以字母s开头的字符串,因此满足匹配条件,返回1;

‘[ab]’表示匹配任何包含字母a或者b的字符串,指定字符串中没有字母a也没有字母b,因此不满足匹配条件,返回0;
5、异或运算符(非位运算,利用的是属性逻辑)

注意:异或NULL的情况
SELECT 1 XOR 1, 0 XOR 0,1 XOR 0,1 XOR NULL,1 XOR 1 XOR 1

换行符 mysql文本_运算符_06


关于一些异或的一些作用,大家可以参考一下

SELECT 2 XOR 4, 2 XOR 0,0 XOR 0,4 XOR 6 XOR 0 XOR 2;

换行符 mysql文本_字符串_07


这里大家可能感到奇怪,我查过资料之后才之后mysql用的是数值的属性逻辑,而非位运算如数字4.4的属性逻辑是1

6、位运算

MYSQL中提供的位运算有

按位或(|)

按位与(&)

按位异或(^)

按位左移(<<)

按位右移(>>)

按位取反(~):反转所有比特

SET @i = 0;
SELECT @i | 3 AS '按位或',
             @i & 3 AS '按位与',
       @i ^ 3 AS '按位异或',
             ~@i AS '非';

换行符 mysql文本_运算符_08


7、特殊字符

下面的特殊字符需要在输入时加反斜线符号开头

输入单引号需要:\’

输入双引号需要:\”

输入反斜杠:\

输入回车符:\r

输入换行符:\n

输入制表符:\tab

输入退格符:\b

在插入这些特殊字符到数据库之前一定要进行转义处理