MySQL(四)--- 数据处理函数

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 和单行处理函数相对的是:多行处理函数。(多行处理函数特点:多个输入,对应1个输出!)

image.png


数据处理函数又被称为单行处理函数


单行处理函数的特点:一个输入对应一个输出。


和单行处理函数相对的是:多行处理函数。(多行处理函数特点:多个输入,对应1个输出!)


常见的单行处理行数


lower 转换小写select lower(ename) as ename from emp;


+--------+
| ename  |
+--------+
| smith  |
| allen  |
| ward   |
| jones  |
| martin |
| blake  |
| clark  |
| scott  |
| king   |
| turner |
| adams  |
| james  |
| ford   |
| miller |
+--------+


14个输入,最后还是14个输出。这是单行处理函数的特点。


upper 转换大写select upper(name) as name from t_student;


substr 取子串(substr( 被截取的字符串, 起始下标,截取的长度))select substr(ename, 1, 1) as ename from emp;注意:起始下标从1开始,没有0.


LEFT (string2 ,length )从 string2 中的左边起取 length 个字符


RIGHT (string2 ,length ) 从 string2 中的右边起取 length 个字符


找出员工名字第一个字母是A的员工信息?第一种方式:模糊查询select ename from emp where ename like 'A%';第二种方式:substr函数select ename from emp where substr(ename,1,1) = 'A';


学生名字首字母大写?


​ select concat(upper(substr(name,1,1)),substr(name,2,length(name) - 1)) as result from t_student;


注意:字符串拼接一定要用concat而不能用+


像这样不行:select upper(substr(name,1,1)) + substr(name,2,length(name) - 1) from t_student;


concat函数进行字符串的拼接select concat(empno,ename) from emp;


可以拼接多个concat(……,……,……)


length 取长度select length(ename) enamelength from emp;


trim 去两边空格


select * from emp where ename = trim('   KING');


RTrim切除右边的空格,LTrim切除左边的空格


str_to_date 将字符串转换成日期 date_format 格式化日期 format 设置千分位


(后面讲)


一个诡异的现象


select 'abc' as bieming from emp;    // select后面直接跟“字面量/字面值”


+---------+
    | bieming |
    +---------+
    | abc     |
    | abc     |
    | abc     |
    | abc     |
    | abc     |
    | abc     |
    | abc     |
    | abc     |
    | abc     |
    | abc     |
    | abc     |
    | abc     |
    | abc     |
    | abc     |
    +---------+


select abc from emp; ERROR 1054 (42S22): Unknown column 'abc' in 'field list' 这样肯定报错,因为会把abc当做一个字段的名字,去emp表中找abc字段去了。


结论:select后面可以跟某个表的字段名(可以等同看做变量名),也可以跟字面量/字面值(数据)。select 21000 as num from dept;// 21000也是被当做一个字面量/字面值。


+-------+
  | num   |
  +-------+
  | 21000 |
  | 21000 |
  | 21000 |
  | 21000 |
  +-------+


round(要操作的数, 保留几位小数)   四舍五入


select round(21000.4, 0) as num from dept; //结果和上面一样


select round(1236.567, -1); // 保留到十位。


rand() 生成随机数  在 0 ≤ 随机数 ≤ 1.0 select floor(rand()*100); // 100以内的随机数


如果使用 rand(seed) 返回随机数, 范围 0 ≤ 随机数 ≤ 1.0, 如果 seed 不变,多次执行返回的结果也是不变的


ifnull是空处理函数。专门处理空的,可以将 null  转换成一个具体值


在所有的数据库当中,只要有null参与了数学运算,最终结果就是NULL


计算每个员工的年薪?


select ename, (sal + ifnull(comm, 0))*12 year_sal from emp;


case..when..then..when..then..else..end 当员工的工作岗位是MANAGER的时候,工资上调10%,当工作岗位是SALESMAN的时候,工资上调50%,其它正常。 (注意:不修改数据库,只是将查询结果显示为工资上调) select ename, job, sal as oldsal, (case job when 'MANAGER' then sal*1.1 when 'SALESMAN' then sal*1.5 else sal end) as newsal from emp;


select 后可以不接from 当作简单的测试工具


等同于接了from dual;


dual为 亚元表, 系统表 可以作为测试表使用


select round(3.14, 3);


+----------------+
| round(3.14, 3) |
+----------------+
|          3.140 |
+----------------+


select concat('13','57','9');


+-----------------------+
| concat('13','57','9') |
+-----------------------+
| 13579                 |
+-----------------------+


相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
9天前
|
SQL 关系型数据库 MySQL
Mysql-常用函数及其用法总结
以上列举了MySQL中一些常用的函数及其用法。这些函数在日常的数据库操作中非常实用,能够简化数据查询和处理过程,提高开发效率。掌握这些函数的使用方法,可以更高效地处理和分析数据。
35 19
|
1月前
|
SQL 关系型数据库 MySQL
【MySQL基础篇】盘点MySQL常用四大类函数
本文介绍了MySQL中的四大类常用函数:字符串函数、数值函数、日期函数和流程函数。
【MySQL基础篇】盘点MySQL常用四大类函数
|
1月前
|
SQL 关系型数据库 MySQL
MySQL常见函数第二期,你都用过哪些呢 ?
本期介绍了20个常用的MySQL函数,涵盖日期处理(如CURDATE()、DATE_FORMAT())、数学运算(如ABS()、ROUND())、统计分析(如COUNT()、SUM())等,帮助提高SQL查询效率和数据处理能力。希望对大家的学习有所帮助。
77 7
|
1月前
|
关系型数据库 MySQL
MySQL常见函数第一期,你都用过哪些呢 ?
本期介绍10个常用的MySQL函数:字符串连接(CONCAT)、提取子字符串(SUBSTRING)、获取字符串长度(LENGTH)、转换大小写(UPPER、LOWER)、去除空格(TRIM)、替换字符串(REPLACE)、查找子字符串位置(INSTR)、带分隔符的字符串连接(CONCAT_WS)以及获取当前日期时间(NOW)。
73 8
|
1月前
|
数据采集 关系型数据库 MySQL
MySQL常用函数:IF、SUM等用法
本文介绍了MySQL中常用的IF、SUM等函数及其用法,通过具体示例展示了如何利用这些函数进行条件判断、数值计算以及复杂查询。同时,文章还提到了CASE WHEN语句和其他常用函数,如COUNT、AVG、MAX/MIN等,强调了它们在数据统计分析、数据清洗和报表生成中的重要性。
|
1月前
|
关系型数据库 MySQL 数据处理
【MySQL】函数
MySQL 提供了丰富的函数集,涵盖字符串处理、数值运算、日期时间操作和聚合计算等多个方面。这些函数在日常数据库操作中极为重要,通过合理使用这些函数,可以大大提高数据处理和查询的效率。用户还可以通过自定义函数,扩展 MySQL 的功能以满足特定需求。
72 3
|
2月前
|
关系型数据库 MySQL 数据处理
MySQL函数与约束
MySQL 提供了丰富的函数和强大的约束机制,用于数据处理和完整性维护。通过掌握这些工具,可以有效地管理和分析数据库中的数据,确保数据的一致性和准确性。无论是在日常数据查询中使用内置函数,还是在数据库设计中应用各种约束,都是确保数据库系统稳定、高效运行的关键。希望本文对您理解和应用 MySQL 函数与约束有所帮助。
45 1
|
2月前
|
关系型数据库 MySQL Serverless
MySQL函数
最常用的MySQL函数,包括聚合函数,字符串函数,日期时间函数,控制流函数等
51 1
|
2月前
|
SQL NoSQL 关系型数据库
|
3月前
|
关系型数据库 MySQL 数据库
mysql中tonumber函数使用要注意什么
在处理这类转换操作时,考虑周全,利用提供的高性能云服务器资源,可以进一步提升数据库处理效率,确保数据操作的稳定性和安全性,尤其是在处理大量数据转换和运算密集型应用时。
170 0

热门文章

最新文章