PART1 运算符概述
1. 算术运算符
加(+)、减(-)、乘(*)、除(/)、求余(或称模运算,%)
2. 比较运算符
大于(>)、小于(<)、等于(=)、大于等于(>=)、小于等于(<=)、不等于(!=),以及IN、BETWEEN AND、IS NULL、GREATEST、LEAST、LIKE、REGEXP等。
3. 逻辑运算符
逻辑运算求值所得结果均为1(TRUE)、0(FALSE),这类运算符有逻辑非(NOT或!)、逻辑与(AND或者&&)、逻辑或(OR或者||)、逻辑异或(XOR)
4. 位运算符
位与(&)、位或(|)、位非(~)、位异或(^)、左移(<<)、右移(>>)6种。
Part2 算术运算符
运算符 | 作用 |
+ | 加法运算 |
- | 减法运算 |
* | 乘法运算 |
/ | 除法运算、返回商 |
% | 求余运算、返回余数 |
注:被0除 会返回NULL。
Part3 比较运算符
运算符 | 作用 |
= | 等于 |
<=> | 安全等于 |
<>(!=) | 不等于 |
<= | 小于等于 |
>= | 大于等于 |
> | 大于 |
IS NULL | 判断一个值是否为NULL |
IS NOT NULL | 判断一个值是否不为NULL |
LEAST | 在有两个或多个参数时,返回最小值 |
GREATEST | 当有两个或多个参数时,返回最大值 |
BETWEEN AND | 判断一个值是否落在两个值之间 |
ISNULL | 与IS NULL 作用相同 |
IN | 判断一个值是IN列表中的任意一个值 |
NOT IN | 判断一个值不是IN列表中的任意一个值 |
LIKE | 通配符匹配 |
REGXP | 正则表达式匹配 |
1. 等于运算符(=)
等号(=)用来判断数字、字符串和表达式是否相等:如果相等,返回值为1:否则返回值为0.
数值比较时有如下规则:
(1)若有一个或两个参数为NULL,则比较运算的结果为NULL。
(2)若同一个比较运算中的两个参数都是字符串,则按照字符串进行比较。
(3)若两个参数均为整数,则按照整数进行比较。
(4)若用字符串和数字进行相等判断,则MySQL可以自动将字符串转换为数字。
2. 安全等于运算符(<=>)
这个操作符和=操作符执行相同的比较操作,不过<=>可以用来判断NULL值。在两个操作数均为NULL时,返回值为1,而不为NULL;当一个操作数为NULL时,其返回值为0,而不为NULL。
3. 不等于运算符(<>或者!=)
'<>'或者'!='用于判断数字、字符串、表达式不相等的判断;如果不相等,返回值为1;否则返回值为0.这两个运算符不能用于判断空值NULL。
4. 小于等于运算符(<=)
5. 小于运算符(<)
6. 大于等于运算符(>=)
7. 大于运算符(>)
8. IS NULL(ISNULL)和IS NOT NULL 运算符
9. BETWEEN AND 运算符
10. LEAST运算符
比较值列表中有NULL时,不能判断大小,返回值为NULL。
11. GREATEST(value1,value2,...)
比较值列表中有NULL时,不能判断大小,返回值为NULL。
12. IN、NOT IN 运算符
在左侧表达式为NULL的情况下,或是表中找不到匹配项并且表中一个表达式为NULL的情况下、IN的返回值均为NULL。
13. LIKE
LIKE运算符在进行匹配时,可以使用下面的两种通配符:
(1)'%',匹配任何数目的字符,甚至包括零字符。
(2)’_',只能匹配一个字符。
14. REGEXP
(1)‘^’ 匹配以该字符后面的字符开头的字符串
(2)‘$’匹配以该字符后面的字符结尾的字符串
(3)‘.‘匹配任何一个但单字符。
(4)“[…]”匹配在方括号内的任何字符。
(5)’*‘ 匹配零个或多个在它面前的字符
注释:正则表达式是一个可以进行复杂查询的强大工具。相对于LIKE字符串匹配,它可以使用更多的通配符类型,查询结果更加灵活。
-- end