运算符
1. 算术运算符
算术运算符有:+ - * / %
SELECT 100,110 + 4,100 - 35 FROM DUAL;
#此时会把字符串转换成数值
SELECT 100 + '1' FROM DUAL;
#除法中除数为0 结果为null
SELECT 100 * 1,100 * 1.0,100 / 1.0,100 / 2 FROM DUAL;
#取余运算的结果的正负只和被模数的正负有关
SELECT 12 % 3,-12 % 3,12 % -3,-12 % -3;
2. 比较运算符
比较运算符用来对表达式左右两边的操作数进行比较,比较结果为真返回1,比较结果为假返回0,其余返回null
2.1 等于运算符
- 等号运算符 ‘=’ 判断等号两边的值,字符串或表达式是否相等,若相等则返回1,不等返回0
- 等号运算符基本规则:
- 若等号两边的值,字符串或表达式均为字符串,则MySQL会按照字符串进行比较,其比较的是每个字符串中字符的ANSI编码
- 若等号两边的值均为整数,则MySQL会按照整数来比较两个值的大小
- 若等号两边一个是整数,一个是字符串,则MySQL会将字符串转化为数字进行比较
- 若等号两边存在NULL,则结果为NULL
2.2 安全等于运算符
安全等于运算符和等于运算符作用相似,唯一的区别就是安全等于运算符可以对NULL进行判断
2.3 不等于运算符
不等于运算符(!= <>)用来判断两边的数字,字符串或表达式的值是否不等
2.4 非符号型运算符
- 空运算符
空运算符(IS NULL或者ISNULL)判断一个值是否为NULL
-
非空运算符
非空运算符(IS NOT NULL)判断一个值是否不为NULL
-
最小值运算符
语法格式为:LEAST(值1,值2,…,值n) 在有两个或多个参数的情况下,返回最小值
-
最大值运算符
语法格式为:GREATEST(值1,值2,…,值n) 当有两个或多个参数时,返回值为最大值
-
BETWEEN AND运算符
使用的格式通常为SELECT D FROM TABLE WHERE C BETWEEN A AND B
- IN运算符
IN运算符用于判断给定的值是否是IN列表中的一个值
-
NOT IN运算符
NOT IN运算符用于判断给定的值是否不是IN列表中的一个值
-
LIKE运算符
LIKE运算符主要用来匹配字符串,通常用于模糊匹配
-
ESCAPE运算符
回避特殊符号的:使用转义符
-
REGEXP运算符
REGEXP运算符用来匹配字符串
(1)‘^’匹配以该字符后面的字符开头的字符串。 (2)‘$’匹配以该字符前面的字符结尾的字符串。 (3)‘.’匹配任何一个单字符。 (4)“[...]”匹配在方括号内的任何字符。例如,“[abc]”匹配“a”或“b”或“c”。为了命名字符的范围,使用一 个‘-’。“[a-z]”匹配任何字母,而“[0-9]”匹配任何数字。 (5)‘*’匹配零个或多个在它前面的字符。例如,“x*”匹配任何数量的‘x’字符,“[0-9]*”匹配任何数量的数字, 而“*”匹配任何数量的任何字符。