MySQL基础知识(2) 运算符

目录

一、算数运算符(+、-、*、/、%)

1.加

2.乘与除

3.取模

二、比较运算符(+、<=>、<> / !=、<、<=、>、>=)

1.等号(=)

2.安全等于(<=>)

3.不等于(!= / <>)

三、非符号运算符 

1.空运算符(IS NULL 、ISNULL)

2.非空运算符(IS NOT NULL)

3.最小值运算符(LEAST(值1,...,值n))

4.最大值运算符(GREATEST(值1,值2,...值n))

5.BETWEEN AND运算符

6.IN运算符

7.NOT IN运算符

8.LIKE运算符

四、逻辑运算符

总结


一、算数运算符(+、-、*、/、%)

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中的运算符的知识进行了概述,部分内容源于网络,如有侵权,请联系作者删除,谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值