MySQL|MySQL 中的运算符

算术运算符

运算符 作用
+ 加法
- 减法
* 乘法
/
DIV
除法,返回商
%
MOD
出发,返回余数
  1. 除法运算和模运算中,如果除数为 0,将是非法除数,返回结果为 NULL
  2. 对于模运算,还有另外一种表达方式,使用 MOD(a,b) 函数与 a%b 效果一样
比较运算符
当使用 SELECT 语句进行查询时,MySQL 允许用户对表达式的左边操作数和右边操作数进行比较,比较结果为真,则返回 1,为假则返回 0,比较结果不确定则返回 NULL
运算符 作用
= 等于
<>
!=
不等于
<=> NULL 安全的等于(NULL-safe)
< 小于
<= 小于等于
> 大于
>= 大于等于
BETWEEN 存在于指定范围
IN 存在于指定集合
IS NULL 为 NULL
IS NOT NULL 不为 NULL
LIKE 通配符匹配
PEGEXP
PLIKE
正则表达式匹配
  1. <=> 运算符和 = 类似,不同之处在于 NULL <=> NULL 为 1
  2. between 运算符的使用格式为 a BETWEEN min AND max,当 a 大于等于 min 并且小于等于 max,则返回值为 1,否则返回 0;当操作数 a、min、max 类型相同时,此表达式等价于a>=min and a<=max,当操作数类型不同时,比较时会遵循类型转换原则进行转换后,再进行比较运算
  3. IN 运算符的使用格式为 a IN (value1,value2,…),当 a 的值存在于列表中时,则整个比较表达式返回的值为 1,否则返回 0
  4. IS NULL 运算符的使用格式为 a IS NULL,当 a 的值为 NULL,则返回值为 1,否则返回 0
  5. IS NOT NULL 运算符的使用格式为 a IS NOT NULL。和 IS NULL 相反,当 a 的值不为 NULL,则返回值为 1,否则返回 0
  6. LIKE 运算符的使用格式为
    a LIKE '%123%',当 a 中含有字符串 “123” 时,则返回值为 1,否则返回 0
    a LIKE '%123',当 a 中的字符串是以 “123” 结尾时返回 1,否则返回 0
    a LIKE '123%',当 a 中的字符串是以 “123” 开头时返回 1,否则返回 0
  7. REGEXP 运算符的使用格式为 str REGEXP str_pat,当 str 字符串中含有 str_pat
    相匹配的字符串时,则返回值为 1,否则返回 0
逻辑运算符
逻辑运算符又称为布尔运算符,用来确认表达式的真和假
运算符 作用
NOT 或 ! 逻辑非
AND 或 && 逻辑与
OR 或 || 逻辑或
XOR 逻辑异或
  1. 与,或,非,异或,与 NULL 进行运算时都返回 NULL
位运算符
【MySQL|MySQL 中的运算符】位运算是将给定的操作数转化为二进制后,对各个操作数每一位都进行指定的逻辑运算,得到的二进制结果转换为十进制数后就是位运算的结果
运算符 作用
& 位与(位 AND)
| 位或(位 OR)
^ 位异或(位 XOR)
~ 位取反
>> 位右移
<< 位左移
运算符的优先级
优先级顺序 运算符
1 =
2 ||,OR,XOR
3 &&,AND
4 NOT
5 BETWEEN,CASE,WHEN,THEN 和 ELSE
6 =,<=>,>=,>,<=,<,<>,!=,IS,LIKE,REGEXP 和 IN
7 |
8 &
9 << 和 >>
10 - 和 +
11 *,/,DIV,% 和 MOD
12 ^
13 -(一元减号)和 ~
14 !
15 ()

    推荐阅读