首页 > 代码库 > 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-常用运算符