1、安全等于运算符(<=>)
SELECT NULL <=> NULL
UNION ALL
SELECT NULL <=> 1
union ALL
SELECT 1<=>0
UNION all
SELECT NULL = NULL
注意此运算符和等于(=)的区别在于判断两个值都为空的时候,执行结果如下:
2、LEAST运算符
作用:获取多个参数值中的最小值
注意:不要混合数据类型使用
SELECT least(2,0),LEAST('a','b','c','d'),least(10,20,NULL)
混合使用出现错误
3、GREATEST运算符
作用:获取多个参数中的最大值
注意:null值
4、REGEXP运算符
作用:正则式
SELECT 'ssky' REGEXP '^s','ssky' REGEXP 'y$' ,'ssky' REGEXP '.sky','ssky' REGEXP '[s]*';
由结果可以看到,指定匹配字符串为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
关于一些异或的一些作用,大家可以参考一下
SELECT 2 XOR 4, 2 XOR 0,0 XOR 0,4 XOR 6 XOR 0 XOR 2;
这里大家可能感到奇怪,我查过资料之后才之后mysql用的是数值的属性逻辑,而非位运算如数字4.4的属性逻辑是1
6、位运算
MYSQL中提供的位运算有
按位或(|)
按位与(&)
按位异或(^)
按位左移(<<)
按位右移(>>)
按位取反(~):反转所有比特
SET @i = 0;
SELECT @i | 3 AS '按位或',
@i & 3 AS '按位与',
@i ^ 3 AS '按位异或',
~@i AS '非';
7、特殊字符
下面的特殊字符需要在输入时加反斜线符号开头
输入单引号需要:\’
输入双引号需要:\”
输入反斜杠:\
输入回车符:\r
输入换行符:\n
输入制表符:\tab
输入退格符:\b
在插入这些特殊字符到数据库之前一定要进行转义处理