【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中内置了很多字符函数,常用的如下

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中的函数,期待我们下期再见!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值