②MySQL的函数——聚合函数、数学函数、字符串函数、日期函数

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: MySQL的函数——聚合函数、数学函数、字符串函数、日期函数

字符串函数

CHAR_LENGTH(s)

返回字符串 s 的字符数

返回字符串 RUNOOB 的字符数


SELECT CHAR_LENGTH("RUNOOB") AS '字符串长度';


SELECT emp_name as '姓名',CHAR_LENGTH(emp_name) as '名字长度' FROM emp;

image.png


character_length和char_length完全相同


CONCAT(s1,s2...sn) 合并字符

字符串 s1,s2 等多个字符串合并为一个字符串


SELECT CONCAT("123","456")


image.png

CONCAT_WS(x, s1,s2...sn) 指定分隔符合并

同 CONCAT(s1,s2,...) 函数,但是每个字符串之间要加上 x,x 可以是分隔符


SQL-Tutorial-is-fun!



field(s,s1,s2...)

返回第一个字符串 s 在字符串列表(s1,s2...)中的位置


image.png


c 在这个字符串列表中是第三个 注意是第一个位置哟


LTRIM(s) 去掉字符串 s 开始处的空格

image.png


有时候,针对一些不规则的数据集,我们为了节省时间可以不用其他的工具进行预处理,直接使用ltrim()函数去除前端空格,注意是前端空格哟


RTRIM(s) 去掉字符串 s 结束处的空格

去掉字符串 s 结尾处的空格,这里和上面的记住比较的对称,L——left(左);R——right(右)


image.png


那么有时候,我们再想,要是两边都有空字符的话,我们这样频繁的嵌套岂不是很麻烦,有没有一个函数直接解决两端的空格呢?答案是有!


TRIM(s) 去掉两端空格

去掉字符串 s 开始和结尾处的空格


image.png


MID(s,n,len) 截取字符串

从字符串 s 的 n 位置截取长度为 len 的子字符串,同 SUBSTRING(s,n,len)


image.png


注意,这里的索引开始是1,也就是第一个是1,后面代表着取到的字符串长度 ,下面的函数和它的功能也是一样的。


image.png


POSITION(s1 IN s) 从字符串截取s1的开始位置

从字符串 s 中获取 s1 的开始位置


image.png


注意这里和前面的field函数是不一样的,前面是在字符串列表里面返回第一个列表元素的位置 ,它由多个字符串,而这个只有一个;


我们举一个详细的例子:通过field函数,第一个参数使用人事部才能匹配到它的位置,如果使用人事那么就无法匹配到,这也是它的一个局限性


image.png


如果使用position in 字段就可以匹配到,原因和是什么呢,这是因为第一个函数把多个字符串和后面的字符串进行了全面的匹配,是全局匹配

image.png

REPLACE(s,s1,s2) 替代函数

将字符串 s2 替代字符串 s 中的字符串 s1,只是改变了显示,并没有概念原始的数据集


image.png


REVERSE(s) 字符串翻转

将字符串s的顺序反过来

image.png



这里的应用场景,可以根据你的业务,涉及到一些偏僻的语法,可能就是我们要考的或者现实中创新的部分


RIGHT(s,n) 返回字符串 s 的后 n 个字符

image.png


STRCMP(s1,s2) 字符串比较是否相等

比较字符串 s1 和 s2,如果 s1 与 s2 相等返回 0 ,如果 s1>s2 返回 1,如果 s1<s2 返回 -1,比较的是长度


image.png

字符串大小写转换image.png

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
10天前
|
存储 SQL 关系型数据库
MySQL基础:函数
本文介绍了MySQL中几种常用的内建函数,包括字符串函数、数值函数、日期函数和流程函数。字符串函数如`CONCAT()`用于拼接字符串,`TRIM()`用于去除字符串两端的空格,`MOD()`求余数,`RAND()`生成随机数,`ROUND()`四舍五入。日期函数如`CURDATE()`返回当前日期,`NOW()`返回当前日期和时间,`DATE_ADD()`添加时间间隔,`DATEDIFF()`计算日期差。流程函数如`IF()`和`CASE WHEN THEN ELSE END`用于条件判断。聚合函数如`COUNT()`统计行数,`SUM()`求和,`AVG()`求平均值
22 8
MySQL基础:函数
|
10天前
|
SQL 关系型数据库 MySQL
MySQL:表的设计原则和聚合函数
本文详细介绍了数据库表设计的原则与范式,包括从需求中找到实体及其属性,确定实体间关系,并使用SQL创建具体表。文章还深入探讨了一范式、二范式和三范式的要求及不满足这些范式时可能遇到的问题。此外,文中通过实例解释了一对一、一对多和多对多关系的表设计方法,并介绍了如何使用聚合函数如 COUNT()、SUM()、AVG()、MAX() 和 MIN() 进行数据统计和分析。最后,文章还展示了如何通过 SQL 语句实现数据的复制和插入操作。
31 7
MySQL:表的设计原则和聚合函数
|
16天前
|
存储 关系型数据库 MySQL
MySQL MATCH 函数如何使用 WITH QUERY EXPANSION?
【9月更文挑战第2天】MySQL MATCH 函数如何使用 WITH QUERY EXPANSION?
26 0
|
18天前
|
存储 关系型数据库 MySQL
|
19天前
|
SQL 关系型数据库 MySQL
SQL Server、MySQL、PostgreSQL:主流数据库SQL语法异同比较——深入探讨数据类型、分页查询、表创建与数据插入、函数和索引等关键语法差异,为跨数据库开发提供实用指导
【8月更文挑战第31天】SQL Server、MySQL和PostgreSQL是当今最流行的关系型数据库管理系统,均使用SQL作为查询语言,但在语法和功能实现上存在差异。本文将比较它们在数据类型、分页查询、创建和插入数据以及函数和索引等方面的异同,帮助开发者更好地理解和使用这些数据库。尽管它们共用SQL语言,但每个系统都有独特的语法规则,了解这些差异有助于提升开发效率和项目成功率。
87 0
|
4天前
|
存储 SQL 关系型数据库
使用MySQL Workbench进行数据库备份
【9月更文挑战第13天】以下是使用MySQL Workbench进行数据库备份的步骤:启动软件后,通过“Database”菜单中的“管理连接”选项配置并选择要备份的数据库。随后,选择“数据导出”,确认导出的数据库及格式(推荐SQL格式),设置存储路径,点击“开始导出”。完成后,可在指定路径找到备份文件,建议定期备份并存储于安全位置。
57 11
|
28天前
|
SQL 关系型数据库 MySQL
【揭秘】MySQL binlog日志与GTID:如何让数据库备份恢复变得轻松简单?
【8月更文挑战第22天】MySQL的binlog日志记录数据变更,用于恢复、复制和点恢复;GTID为每笔事务分配唯一ID,简化复制和恢复流程。开启binlog和GTID后,可通过`mysqldump`进行逻辑备份,包含binlog位置信息,或用`xtrabackup`做物理备份。恢复时,使用`mysql`命令执行备份文件,或通过`innobackupex`恢复物理备份。GTID模式下的主从复制配置更简便。
120 2
|
23天前
|
弹性计算 关系型数据库 数据库
手把手带你从自建 MySQL 迁移到云数据库,一步就能脱胎换骨
阿里云瑶池数据库来开课啦!自建数据库迁移至云数据库 RDS原来只要一步操作就能搞定!点击阅读原文完成实验就可获得一本日历哦~
|
27天前
|
关系型数据库 MySQL 数据库
RDS MySQL灾备服务协同解决方案构建问题之数据库备份数据的云上云下迁移如何解决
RDS MySQL灾备服务协同解决方案构建问题之数据库备份数据的云上云下迁移如何解决
|
5天前
|
存储 SQL 关系型数据库
一篇文章搞懂MySQL的分库分表,从拆分场景、目标评估、拆分方案、不停机迁移、一致性补偿等方面详细阐述MySQL数据库的分库分表方案
MySQL如何进行分库分表、数据迁移?从相关概念、使用场景、拆分方式、分表字段选择、数据一致性校验等角度阐述MySQL数据库的分库分表方案。
一篇文章搞懂MySQL的分库分表,从拆分场景、目标评估、拆分方案、不停机迁移、一致性补偿等方面详细阐述MySQL数据库的分库分表方案