MYSQL中的运算符
4.1算数运算符
+、-、*、/--div、%--mod
4.2比较运算符
=:用于比较运算符两侧的操作数是否相等,如果两侧的操作数相等,则返回1,否则返回0.注意NULL不能用“=”比较
<>:与“=”相反,如果两侧的操作数不等,则值为1,否则为0,null不能用
<=>:和“=”相似,在操作数相等时为1,null可以使用。例如:null<=>null 返回1
<:
<=:
>:
>=:
BETWEEN:使用格式a between min and max,当操作数相同时等价与(a>=min and a<=max),当类型不同时,比较时会遵循类型转换原则进行转换后再进行比较
IN:格式:a in (value1,value2,...,valuen)
is null:
is not null:
like:
regexp:格式:str regexp str_pat,当str字符串含有str_pat相匹配的字符串时,返回1,否则返回0.
4.3逻辑运算符
mysql支持4中逻辑运算符
not 或 !:表示逻辑非运算,返回和操作数相反的结果,当操作数为0时为假,返回1,否则值为0,注意:not null 的返回值为null
AND 或 &&:表示逻辑与运算,当操作数均为非零值并且不等于null时,计算所得结果为1,否则为0,操作数中右任何一个为null则返回null
OR 或 ||:表示逻辑或运算,当两个操作数均为null时,如果右任意一个操作数为非零值,则返回1,否则返回0.若操作数都为null,则返回null
XOR:表示逻辑异或运算。当任意的操作数为null时,返回null,操作数逻辑真假值相反,则返回1,否则返回0.
4.4位运算符
为运算是将给定的操作数转化为二进制后,对各个操作数每一位都进行指定的逻辑运算,得到的二进制结果转化为十进制数后就是为运算的结果。
mysql支持6中位运算符
&:位与运算符,对多个操作数的二进制位做逻辑与操作。
|:位或运算符,对多个操作数的为进制位做逻辑或操作。
^:位异或运算符,对操作数的二进制位做异或操作。
~:位取反运算符,对操作数的二进制位做NOT操作,这里的操作数只能是一位,
>>:位右移运算符,对左操作数向右移动右操作数指定的位数
<<:位左移运算符,对左操作数向左移动右操作数指定的位数