嗨咯!各位小伙伴好呀!今天我们来学习MySQL数据库新的一个章节就是函数了,函数在整个MySQL数据库中是非常重要的,比如求学生各科的平均成绩,求班级里边学生的人数。下面让我们进入函数的世界吧!
目录
前言
函数概念
函数的种类
字符串函数
1.concat()函数 字符串拼接 演示
2.lower()函数 字符串转换为小写
3.upper()函数 字符串转换为大写
4.lpad(str,n,pad)函数 左填充
5.rpad(str,n,pad)函数 右填充 演示
5.timr()函数 消除字符串两边的空格 演示
6.substring(str,start,len) 截取字符串 演示
7.根据业务需求使用响应的函数
编辑
数值函数
1. ceil()
2.floor()
3.mod()
4.round(x,y)
5.根据业务需求使用响应的函数
日期函数
流程函数
总结
函数:是指一段可以直接被另一段程序调用的代码。打个比方在数据库表中你如何知道学生成绩是优、良、可、及格、差?,在数据库表中你如何知道某位同学总分考了多少分?
函数的种类可以分为:字符串函数、数值函数、日期函数、流程函数四种类型。接下来我们对它一一讲解。
MySQL中内置了很多字符函数,常用的如下
select concat('hello','world');
select lower('HeLLo');
select upper('HeLLo');
当str=n不需要进行填充,负责填充n-str的长度
select lpad('o',3,'t');
当str>n时只显示n个字符的个数
select lpad('1234',3,'t');
select rpad('00',5,'1');
select trim(' abc ');
下标从1开始,如果没有输入len则默认截取到最后的位置。
select substr('abcd',2);
由于业务需求变更,企业员工的工号,统一为4为数字,不足五位数的全部在前面补0。
比如1号员工的工
号应该为0001
update emp set workno=lpad(id,4,'0');
select ceil(1.1);
select floor(1.9);
select mod(5,2);
select round(3.456,2);
通过数据库生成随机六位数的验证码
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中的函数,期待我们下期再见!