mysql(深入浅出运算符)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 一个整数类型的值对整数进行加法和减法操作,结果还是一个整数;一个整数类型的值对浮点数进行加法和减法操作,结果是一个浮点数;加法和减法的优先级相同,进行先加后减操作与进行先减后加操作的结果是一样的;

e657ecb45d1e4975bc617861cd98411e.png


加法与减法运算符



SELECT 100, 100 + 0, 100 - 0, 100 + 50, 100 + 50 -30, 100 + 35.5, 100 - 35.5 
FROM DUAL;

运行结果:

594596d076934168bf5f41ed7eb2ce6b.png


结论:


一个整数类型的值对整数进行加法和减法操作,结果还是一个整数;

一个整数类型的值对浮点数进行加法和减法操作,结果是一个浮点数;

加法和减法的优先级相同,进行先加后减操作与进行先减后加操作的结果是一样的;

在Java中,+的左右两边如果有字符串,那么表示字符串的拼接。但是在MySQL中+只表示数值相加。如果遇到非数值类型,先尝试转成数值,如果转失败,就按0计算。(补充:MySQL中字符串拼接要使用字符串函数CONCAT()实现)


乘法与除法运算符



SELECT 100, 100 * 1, 100 * 1.0, 100 / 1.0, 100 / 2,100 + 2 * 5 / 2,100 /3, 100 
DIV 0 FROM DUAL;


运行结果:

3da487437c6942628b70b0a790a7252c.png


结论:

063e8cfdef684c4da97ac5fc803afeee.png

 

求模(求余)运算符



SELECT 12 % 3, 12 MOD 5 FROM DUAL;

5f2a227be67745ef9ea9c5157070648b.png

比较运算符



比较运算符用来对表达式左边的操作数和右边的操作数进行比较,比较的结果为真则返回1,比较的结果为假则返回0,其他情况则返回NULL。
比较运算符经常被用来作为SELECT查询语句的条件来使用,返回符合条件的结果记录。

508df023dfd142938c2c0ff28487b135.pngf1b141e0d10d47b58023583ab15a60bd.png

SELECT 1 = 1, 1 = '1', 1 = 0, 'a' = 'a', (5 + 3) = (2 + 6), '' = NULL , NULL = 
NULL; 

1016d77aec3d492c96e0e7e7b54e3585.png

SELECT 1 = 2, 0 = 'abc', 1 = 'abc' FROM DUAL;

efed356ef99d4003b9fb1b17d4eaa5f6.png


使用安全等于运算符时,两边的操作数的值都为NULL时,返回的结果为1而不是NULL,其他返回结果与等于运算符相同


不等于运算符


不等于运算符(<>和!=)用于判断两边的数字、字符串或者表达式的值是否不相等,如果不相等则返回1,相等则返回0。不等于运算符不能判断NULL值。如果两边的值有任意一个为NULL,或两边都为NULL,则结果为NULL。 SQL语句示例如下:

SELECT 1 <> 1, 1 != 2, 'a' != 'b', (3+4) <> (2+6), 'a' != NULL, NULL <> NULL;

 SELECT 1 <> 1, 1 != 2, 'a' != 'b', (3+4) <> (2+6), 'a' != NULL, NULL <> NULL;

2e25753dfb8c44059a7d43d03c68161f.png

image.png


空运算符



空运算符(IS NULL或者ISNULL)判断一个值是否为NULL,如果为NULL则返回1,否则返回 0

  SELECT NULL IS NULL, ISNULL(NULL), ISNULL('a'), 1 IS NULL;

861df6579807459aa41f4bf868693f37.png

2731c170074a4d4390b71acda7a59b08.png

 

非空运算符



非空运算符(IS NOT NULL)判断一个值是否不为NULL,如果不为NULL则返回1,否则返回0。 SQL语句示例如下:

 SELECT NULL IS NULL, ISNULL(NULL), ISNULL('a'), 1 IS NULL;

ab172f22500a4eccbe2af6e35a54170e.png

 

最小值运算符



语法格式为:LEAST(值1,值2,...,值n)。其中,“值n”表示参数列表中有n个值。在有两个或多个参数的情况下,返回最小值

  SELECT LEAST (1,0,2), LEAST('b','a','c'), LEAST(1,NULL,2);

56fc2a02106045f3b69c0e86b151d7ce.png

当参数是整数或者浮点数时,LEAST将返回其中最小的值;当参数为字符串时,返回字母表中顺序最靠前的字符;当比较值列表中有NULL时,不能判断大小,返回值为NULL。


 最大值运算符



SELECT GREATEST(1,0,2), GREATEST('b','a','c'), GREATEST(1,NULL,2);

5dc31111be44478a9efee6b32529dbef.png

当参数中是整数或者浮点数时,GREATEST将返回其中最大的值;当参数为字符串时,返回字母表中顺序最靠后的字符;当比较值列表中有NULL时,不能判断大小,返回值为NULL。

(2.0和2  输出2.0)


BETWEEN AND运算符



BETWEEN运算符使用的格式通常为SELECT D FROM TABLE WHERE C BETWEEN AAND B,此时,当C大于或等于A,并且C小于或等于B时,结果为1,否则结果为0。

9bc292303a4c43f384b24e2ff7cd51d1.png


IN运算符



IN运算符用于判断给定的值是否是IN列表中的一个值,如果是则返回1,否则返回0。如果给定的值为NULL,或者IN列表中存在NULL,则结果为NULL。

SELECT 'a' IN ('a','b','c'), 1 IN (2,3), NULL IN ('a','b'), 'a' IN ('a', NULL);

60502c3dab0e46398fa2de95d1602402.png


NOT IN运算符



NOT IN运算符用于判断给定的值是否不是IN列表中的一个值,如果不是IN列表中的一个值,则返回1,否则返回0。

c3acb9aa253b4807952a5cbdfefbf0aa.png


LIKE运算符



LIKE运算符主要用来匹配字符串,通常用于模糊匹配,如果满足条件则返回1,否则返回0。如果给定的值或者匹配条件为NULL,则返回结果为NULL。

f500051ea4324184af32b9518b04ed7c.pnga0406aca0cd44cd292fb1c6e5d521e7c.png

SELECT NULL LIKE 'abc', 'abc' LIKE NULL


ESCAPE



d2ae0df288034cf8b9785c86dd737e7d.png

 REGEXP运算符

REGEXP运算符用来匹配字符串,语法格式为:expr REGEXP 匹配条件。如果expr满足匹配条件,返回1;如果不满足,则返回0。若expr或匹配条件任意一个为NULL,则结果为NULL。

1b8d740d991e490c97db169f844caca7.png5743347eb7fb4cf8880f4135386a4cfa.pngd7aa2fdd796a4a119c10e69178cc3940.png05fd325d66f14be18386e9d1de4f7042.png5d59c49f947b47f2a6e8916551e155cc.png4a48598d35614dfaac488ae6da15417b.png036206123eef4e518839ff0e5f58715b.pngb0e39af4181d4fa8929bedbe67de25df.png


相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
关系型数据库 MySQL Java
MYSQL运算符和分页
MYSQL运算符和分页
63 0
|
8月前
|
关系型数据库 MySQL Java
【MySQL进阶之路 | 基础篇】[MySQL]运算符
【MySQL进阶之路 | 基础篇】[MySQL]运算符
|
SQL 关系型数据库 MySQL
MySql where 查询条件与运算符
MySql where 查询条件与运算符
110 0
|
8月前
|
SQL 关系型数据库 MySQL
mysql基本查询、运算符、排序和分页
mysql基本查询、运算符、排序和分页
|
8月前
|
SQL 安全 关系型数据库
MySQL技能完整学习列表3、SQL语言基础——3、SQL运算符和函数
MySQL技能完整学习列表3、SQL语言基础——3、SQL运算符和函数
73 0
|
8月前
|
关系型数据库 MySQL 数据库
【MySQL进阶之路丨第十七篇(完结)】一文带你精通MySQL运算符
【MySQL进阶之路丨第十七篇(完结)】一文带你精通MySQL运算符
101 0
|
8月前
|
存储 关系型数据库 MySQL
MySQL基础篇(运算符、排序分页、多表查询、函数)-3
MySQL基础篇(运算符、排序分页、多表查询、函数)
103 0
|
8月前
|
SQL 关系型数据库 MySQL
MySQL基础篇(运算符、排序分页、多表查询、函数)-2
MySQL基础篇(运算符、排序分页、多表查询、函数)
96 0
|
8月前
|
SQL 关系型数据库 MySQL
MySQL基础篇(运算符、排序分页、多表查询、函数)-1
MySQL基础篇(运算符、排序分页、多表查询、函数)
98 0
|
8月前
|
SQL 关系型数据库 MySQL
MySQL数据类型、运算符以及数据库范式
MySQL数据类型、运算符以及数据库范式
82 0
MySQL数据类型、运算符以及数据库范式