首页 > 代码库 > MySQL数据库操作5-常用运算符
MySQL数据库操作5-常用运算符
概述:
常用运算符主要包含有:
算术运算符,
比较运算符,
逻辑运算符,
位操作运算符
等…
1.算术运算符:
支持 + – * / 和 % ,
比如在查找数据的时候使用:
select n+1,n+2 from num;
前:,后:
同样可以使用其他运算。
注意除法会取到小数点后四位。除0的结果是没有意义的NULL。
2。比较运算符
比较运算符返回的结果通常是9,1,或NULL,可以在查询语句中使用来查询满足条件的记录。
常用的比较运算符介绍:
=
select 1=0,2=2,‘1‘=1,1+2=3+0,NULL=NULL;
结果是:
因为=不用于空值判断,因此,最后一个结果是NULL,无法判断。
同样用法的有,不等于<>或!=,小于等于<=,小于<,大于等于>=,大于>,注意这些运算符也可以比较字符串,按照字符表的排列顺序进行比较。
IS NULL ,ISNULL(),或IS NOT NULL
判断一个值是否为空。
如:
select null is null,isnull(null), 10 is not null;
结果是:
BETWEEN AND
判断是否在某个范围之间,如
select 4 between 3 and 10;
结果:
注意字符串类型会按照字符表顺序进行范围比较。
如:
select ‘f‘ between ‘a‘ and ‘g‘;
结果:
LEAST(值1,值2,….)
返回最小值,但是如果值中存在NULL,那么返回NULL,如:
select least(10,3.0,32),least(10,null,4);
结果是:
当比较字符串的时候也是得到比较的时候最小的串,如:
select least(‘abc‘,‘abd‘,‘abcd‘);
结果:
GREATEST
与LEAST相对,比较出的是最大值。如:
select greatest(‘abc‘,‘abd‘,‘abcd‘);
结果是:
IN,NOT IN
判断值是否在列表中,如:
select 4 in (1,4,‘r‘,‘t‘),‘r‘ not in (1,4,‘r‘,‘t‘);
结果是:
当左侧为NULL或是找不到匹配项且在列表中有NULL的情况下都是返回NULL。
LIKE
伪正则匹配,仅支持%和_这两个通配符,%表示匹配任何数目的字符,_匹配任意单个字符。
如:
select ‘student‘ like ‘st%‘;
结果是:
可以看出,like后面的字符串是正则表达式,前面是要进行匹配的字符串。
REGEXP
正则表达式匹配,^匹配开头,$匹配结尾, . 匹配单字符,[]匹配其中的字符(支持用-规定范围),*匹配其前面的字符任意多次(本人使用的时候有异议,因为使用*的时候可能出现问题)。
如:
select ‘ssky‘ regexp ‘[ab]‘,‘ssky‘ regexp ‘s*‘;
结果是:
如果按照定义,s*匹配的时候不会匹配出ky,但结果就是返回真(1)。有知道的请指教。
3.逻辑运算符
NOT 或 !
当操作数为1时为0,为0时为1,就是取反操作,如:
select not(1),not 0 ,! true;
结果是:
AND 或 &&
与操作;
如:
select 1 and 1,0 and 1;
结果:
OR或||
或操作;
如:
select 1 or 1,0 || 1;
结果:
XOR
异或操作;(相同为0,相异为1)
如:
select 0 xor 0;
结果:
4.位运算符(略)。
因为位运算主要使用与二进制,场合特殊,所以我暂时就不记了,但是MySQL支持的位运算符有
| 位或
& 位与
^ 位异或
<< 位左移
>> 位右移
~位取反
MySQL数据库操作5-常用运算符