前言
嗨咯!各位小伙伴好呀!今天我们来学习MySQL数据库新的一个章节就是函数了,函数在整个MySQL数据库中是非常重要的,比如求学生各科的平均成绩,求班级里边学生的人数。下面让我们进入函数的世界吧!
目录
6.substring(str,start,len) 截取字符串 演示
编辑
函数概念
函数:是指一段可以直接被另一段程序调用的代码。打个比方在数据库表中你如何知道学生成绩是优、良、可、及格、差?,在数据库表中你如何知道某位同学总分考了多少分?
函数的种类
函数的种类可以分为:字符串函数、数值函数、日期函数、流程函数四种类型。接下来我们对它一一讲解。
字符串函数
MySQL中内置了很多字符函数,常用的如下
编辑
1.concat()函数 字符串拼接 演示
select concat('hello','world');
编辑
2.lower()函数 字符串转换为小写
select lower('HeLLo');
编辑
3.upper()函数 字符串转换为大写
select upper('HeLLo');
编辑
4.lpad(str,n,pad)函数 左填充
当str=n不需要进行填充,负责填充n-str的长度
select lpad('o',3,'t');
编辑
当str>n时只显示n个字符的个数
select lpad('1234',3,'t');
编辑
5.rpad(str,n,pad)函数 右填充 演示
select rpad('00',5,'1');
编辑
5.timr()函数 消除字符串两边的空格 演示
select trim(' abc ');
编辑
6.substring(str,start,len) 截取字符串 演示
下标从1开始,如果没有输入len则默认截取到最后的位置。
select substr('abcd',2);
编辑
7.根据业务需求使用响应的函数
由于业务需求变更,企业员工的工号,统一为4为数字,不足五位数的全部在前面补0。
比如1号员工的工
号应该为0001
update emp set workno=lpad(id,4,'0');
编辑
数值函数
常见的数值函数如下编辑
1. ceil()
select ceil(1.1);
编辑
2.floor()
select floor(1.9);
编辑
3.mod()
select mod(5,2);
编辑
4.round(x,y)
select round(3.456,2);
编辑
5.根据业务需求使用响应的函数
通过数据库生成随机六位数的验证码
select lpad(round(rand()*1000000,0),6,'0');
编辑
日期函数
编辑
1.查询所有员工的入职天数,根据入职天数倒叙排序
select name,datediff(now(),entrydate)as day from emp order by day desc;
编辑
流程函数
流程函数也是很常用的一类函数,可以在SOL语句中实现条件筛选,从而提高语句的效率。
编辑
1.需求查询emp表的员工姓名和工作地址(北京----->一线城市,其他--->二线城市)
select name,case workaddress when'北京'then'一线城市'when'上海' then '一线城市' else '二线城市'end from emp;
编辑
2.统计班级各个学员的成绩,展示规则
>=85优秀
>=60几个
负责不及格
selectid,name, (casewhenmath>=85then'优秀'whenmath>=60then'及格'else'不及格'end)'数学', (casewhenenglish>=85then'优秀'whenenglish>=60then'及格'else'不及格'end)'英语', (casewhenchinese>=85then'优秀'whenchinese>=60then'及格'else'不及格'end)'语文' fromscore;
编辑
总结
本期主要学习的是MySQL中的函数,期待我们下期再见!
编辑