【MySQL】一文带你学透函数

前言

  嗨咯!各位小伙伴好呀!今天我们来学习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中内置了很多字符函数,常用的如下

【MySQL】一文带你学透函数_第1张图片

 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');

【MySQL】一文带你学透函数_第2张图片

 数值函数

常见的数值函数如下【MySQL】一文带你学透函数_第3张图片

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');

日期函数

【MySQL】一文带你学透函数_第4张图片

1.查询所有员工的入职天数,根据入职天数倒叙排序 

select name,datediff(now(),entrydate)as day from emp order by day desc;

【MySQL】一文带你学透函数_第5张图片

流程函数

流程函数也是很常用的一类函数,可以在SOL语句中实现条件筛选,从而提高语句的效率。

【MySQL】一文带你学透函数_第6张图片

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】一文带你学透函数_第7张图片

 总结

  本期主要学习的是MySQL中的函数,期待我们下期再见!

【MySQL】一文带你学透函数_第8张图片

你可能感兴趣的:(MySQL,mysql,数据库)