MySQL运算符
谈论到SQL的表内数据操作那么少不了的就是运算符。
1、算术运算符:
+
加法运算
用于获得一个或多个值的和
-
减法运算
用于从一个值中减去另一个值
*
乘法运算
使数字相乘,得到两个或多个值的乘积
/,div
除法运算,返回商
用一个值除以另一个值得到商,除可以写成div,不过div是取整
%,MOD
求余运算,返回余数
用一个值除以另一个值得到余数,%取模可以写为mod
2、逻辑运算符:
运算符
作用
NOT 或者 !
逻辑非
AND 或者 &&
逻辑与
OR 和 ||
逻辑或
XOR
逻辑异或
2.1、逻辑非运算(NOT 或者 !){
都是逻辑非运算符,返回和操作数相反的结果,具体语法规则为:
当操作数为 0(假)时,返回值为 1;
当操作数为非零值时,返回值为 0;
当操作数为 NULL 时,返回值为 NULL。}
2.2、逻辑与运算符(AND 或者 &&)
AND 和 && 都是逻辑与运算符,具体语法规则为:
当所有操作数都为非零值并且不为 NULL 时,返回值为 1;
当一个或多个操作数为 0 时,返回值为 0;
操作数中有任何一个为 NULL 时,返回值为 NULL。
2.3、逻辑或运算符(OR 或者 ||)
OR 和 || 都是逻辑或运算符,具体语法规则为:
当两个操作数都为非 NULL 值时,如果有任意一个操作数为非零值,则返回值为 1,否则结果为 0;
当有一个操作数为 NULL 时,如果另一个操作数为非零值,则返回值为 1,否则结果为NULL;
假如两个操作数均为 NULL 时,则返回值为 NULL。
2.4、异或运算(XOR 运算符)
XOR 表示逻辑异或,具体语法规则为:
当任意一个操作数为 NULL 时,返回值为 NULL;
对于非 NULL 的操作数,如果两个操作数都是非 0 值或者都是 0 值,则返回值为 0;
如果一个为0值,另一个为非 0 值,返回值为 1。
3、比较运算符
SELECT 语句中的条件语句经常要使用比较运算符。通过这些比较运算符,可以判断表中的哪些记录是符合条件的。比较结果为真,则返回 1,为假则返回 0,比较结果不确定则返回 NULL。
符号
描述
=
等于
<>, !=
不等于
>
大于
<
小于
<=
小于等于
>=
大于等于
BETWEEN
在两值之间
NOT BETWEEN
不在两值之间
IN
在集合中
NOT IN
不在集合中
<=>
严格比较两个NULL值是否相等
LIKE
模糊匹配
REGEXP 或 RLIKE
正则式匹配
IS NULL
为空
IS NOT NULL
不为空
4、位运算符
位运算符是在二进制数上进行计算的运算符。位运算会先将操作数变成二进制数,进行位运算。然后再将计算结果从二进制数变回十进制数。
运算符号
作用
&
按位与
|
按位或
^
按位异或
!
取反
<<
左移
>>
右移
5、运算符优先级
最低优先级为: :=。
最高优先级为: !、BINARY、 COLLATE。