目录
二、比较运算符(+、<=>、<> / !=、<、<=、>、>=)
4.最大值运算符(GREATEST(值1,值2,...值n))
一、算数运算符(+、-、*、/、%)
1.加
- 一个整数类型的值对整数进行加法和减法操作,结果还是一个整数:
- 一个整数类型的值对浮点数进行加法和减法操作,结果是一个浮点数;
- 加法和减法的优先级相同,进行先加后减操作与进行先减后加操作的结果是一样的;
- 但是在MysQL中+只表示数值相加。如果遇到非数值类型,先尝试转成数值,如果转失败,就按0计算。(补充:MysQL 中字符串拼接要使用字符串函数CONCAT(实现) 。
SELECT 100-10,10+22,12+10.2
FRAOM dual;
2.乘与除
- 一个数乘以整数1和除以整数1后仍得原数;
- 一个数乘以浮点数1和除以浮点数1后变成浮点数,数值与原数相等;
- 一个数除以整数后,不管是否能除尽,结果都为一个浮点数;
- 一个数除以另一个数,除不尽时,结果为一个浮点数,并保留到小数点后4位;
- 乘法和除法的优先级相同,进行先乘后除操作与先除后乘操作,得出的结果相同。
- 在数学运算中,0不能用作除数,在MysQL中,一个数除以0为NULL。
SELECT 10*1,22*1.0,1022/23,10/2,33/0
FROM dual;
3.取模
- 取模运算就是求出余数
SELECT 12%10,3%2
FROM dual;
二、比较运算符(+、<=>、<> / !=、<、<=、>、>=)
1.等号(=)
- 等号运算符(=)判断等号两边的值、字符串或表达式是否相等,如果相等则返回1,不相等则返回0。
- 如果等号两边的值、字符串或表达式都为字符串,则MysQL会按照字符串进行比较,其比较的
- 是每个字符串中字符的ANSI编码是否相等。
- 如果等号两边的值都是整数,则MysQL会按照整数来比较两个值的大小。
- 如果等号两边的值一个是整数,另一个是字符串,则MysQL会将字符串转化为数字进行比较。
- 如果等号两边的值、字符串或表达式中有一个为NULL,则比较结果为NULL。
SELECT 1=1,'1'=1, 1=0,'a' = 'a', a=null, null = null
FROM dual;
2.安全等于(<=>)
- 两边的操作数的值都为null时,返回的结果为1而不是NULL
- 其他结果与等于运算符相同
SELECT null = null
FROM null;
3.不等于(!= / <>)
- 不等于运算符(<和=)用于判断两边的数字、字符串或者表达式的值是否不相等, 如果不相等则返回1,相等则返回0。
- 不等于运算符不能判断NULL值。如果两边的值有任意一个为NULL, 或两边都为NULL,则结果为NULL。
SELECT 1<>1, 10!=22, NULL!=2
FROM dual;
三、非符号运算符
1.空运算符(IS NULL 、ISNULL)
- 判断一个值是否不为NULL,如果为NULL返回1,反之为0。
SELECT 1 IS NULL,ISNULL(NULL)
FROM dual;
2.非空运算符(IS NOT NULL)
- 判断一个值是否不为NULL,如果不为NULL返回1,反之为0。
SELECT NULL IS NOT NULL,'T' IS NOT NULL
FROM dual;
3.最小值运算符(LEAST(值1,...,值n))
- 在给定的值中,返回最小值。
- 当参数是整数或者浮点数时,LEAST将返回其中最小的值;
- 当参数为字符串时,返回字母表顺序最靠前的字符;
- 当比较值列表中有NULL时,不能判断大小,返回值为NULL。
SELECT LEAST(1,20,2), LEAST(NULL,2,333), LEAST('A','B','R')
FROM dual;
4.最大值运算符(GREATEST(值1,值2,...值n))
- 当有两个或多个参数时,返回值为最大值。
- 由结果可以看到,当参数中是整数或者浮点数时,GREATEST将返回其中最大的值;
- 当参数为字符串时, 返回字母表中顺序最靠后的字符;
- 当比较值列表中有NULL时,不能判断大小,返回值为NULL。
SELECT GREATEST(1,222,3),GREATEST('A','G','U'),GREATEST(NULL,1)
FROM dual;
5.BETWEEN AND运算符
- WHERE C BETWEEN A AND B;
- 当C大于等于A,并且C小于等于B时,结果为1,否则为0。
SELECT id,age
FROM CSDN
WHERE age BETWEEN 20 AND 30;
6.IN运算符
- IN()
- 判断是否给定的值是IN列表中的一个值,如果是则返回1,否则返回0。
- 如果给定的值是NULL,则结果为NULL。
SELECT name,id,age
FROM CSDN
WHERE age IN(20,22,24);
7.NOT IN运算符
- NOT IN()
- 判断给定的值是否不是IN列表中的一个值,如果不是返回1,否则返回0。
SELECT 'A' NOT IN('A','B','C');
8.LIKE运算符
- LIKE运算符主要用来匹配字符串,通常用于模糊匹配,如果满足条件则返回1,否则返回0。
- 如果给定的值或者匹配条件为NULL,则返回结果为NULL。
- LIKE运算符通常使用如下通配符: “%”:匹配0个或多个字符。 “_”:只能匹配一个字符。
- 如果_或%也是查询的值的话,请在前面加上转义字符\
SELECT name
FROM CSDN
WHERE name LIKE '%theodore____';
四、逻辑运算符
由于运用较少就不在这里赘述,具体请到JAVA基础专栏了解作用,谢谢。
总结
本篇对MySQL中的运算符的知识进行了概述,部分内容源于网络,如有侵权,请联系作者删除,谢谢!