建设部网站备案,开公司要多少钱才能注册,首涂模板网站,怎么用域名进网站写在前面 Hello大家好#xff0c; 我是【麟-小白】#xff0c;一位软件工程专业的学生#xff0c;喜好计算机知识。希望大家能够一起学习进步呀#xff01;本人是一名在读大学生#xff0c;专业水平有限#xff0c;如发现错误或不足之处#xff0c;请多多指正#xff0… 写在前面 Hello大家好 我是【麟-小白】一位软件工程专业的学生喜好计算机知识。希望大家能够一起学习进步呀本人是一名在读大学生专业水平有限如发现错误或不足之处请多多指正谢谢大家 如果小哥哥小姐姐们对我的文章感兴趣请不要吝啬你们的小手多多点赞加关注呀❤❤❤ 爱你们 目录
写在前面
1. 函数简介 2. 字符串函数
3. 数值函数
4. 日期函数
5. 流程函数
结语 【往期回顾】
【MySQL系列】 第一章 · MySQL概述
【MySQL系列】第二章 · SQL上
【MySQL系列】 第二章 · SQL中
【MySQL系列】 第二章 · SQL下 【其他系列】
【HTML5系列】
【HTML4系列】
【CSS2系列】
【CSS3系列】
【Java基础系列】 1. 函数简介 函数是指一段可以直接被另一段程序调用的程序或代码。 也就意味着这一段程序或代码在MySQL中已经给我们提供了我们要做的就是在合适的业务场景调用对应的函数完成对应的业务需求即可。 那么函数到底在哪儿使用呢 我们先来看两个场景 在企业的OA或其他的人力系统中经常会提供的有这样一个功能每一个员工登录上来之后都能够看到当前员工入职的天数。 而在数据库中存储的都是入职日期如 2000-11-12那如果快速计算出天数呢 在做报表这类的业务需求中,我们要展示出学员的分数等级分布。而在数据库中存储的是学生的分数值如98/75如何快速判定分数的等级呢 其实上述的这一类的需求呢我们通过MySQL中的函数都可以很方便的实现 。 MySQL中的函数主要分为以下四类 字符串函数、数值函数、日期函数、流程函数。 2. 字符串函数 MySQL中内置了很多字符串函数常用的几个如下 演示如下 A. concat : 字符串拼接 select concat(Hello , MySQL); B. lower : 全部转小写 select lower(Hello); C. upper : 全部转大写 select upper(Hello); D. lpad : 左填充 select lpad(01, 5, -); E. rpad : 右填充 select rpad(01, 5, -); F. trim : 去除空格 select trim( Hello MySQL ); G. substring : 截取子字符串 select substring(Hello MySQL,1,5); 案例 : 由于业务需求变更企业员工的工号统一为5位数目前不足5位数的全部在前面补0。比如 1号员工的工号应该为00001。 update emp set workno lpad(workno, 5, 0); 处理完毕后, 具体的数据为: 3. 数值函数 常见的数值函数如下 演示如下 A. ceil 向上取整 select ceil(1.1); B. floor 向下取整 select floor(1.9); C. mod 取模 select mod(7,4); D. rand 获取随机数 select rand(); E. round 四舍五入 select round(2.344,2); 案例 通过数据库的函数生成一个六位数的随机验证码。 思路 获取随机数可以通过rand()函数但是获取出来的随机数是在0-1之间的所以可以在其基础上乘以1000000然后舍弃小数部分如果长度不足6位补0 select lpad(round(rand()*1000000 , 0), 6, 0); 4. 日期函数 常见的日期函数如下 演示如下 A. curdate 当前日期 select curdate(); B. curtime 当前时间 select curtime(); C. now 当前日期和时间 select now(); D. YEAR , MONTH , DAY 当前年、月、日 select YEAR(now());
select MONTH(now());
select DAY(now()); E. date_add 增加指定的时间间隔 select date_add(now(), INTERVAL 70 YEAR ); F. datediff 获取两个日期相差的天数 select datediff(2021-10-01, 2021-12-01); 案例 查询所有员工的入职天数并根据入职天数倒序排序。 思路 入职天数就是通过当前日期 - 入职日期所以需要使用datediff函数来完成。 select name, datediff(curdate(), entrydate) as entrydays from emp order by
entrydays desc; 5. 流程函数 流程函数也是很常用的一类函数可以在SQL语句中实现条件筛选从而提高语句的效率。 演示如下 A. if select if(false, Ok, Error); B. ifnull select ifnull(Ok,Default);
select ifnull(,Default);
select ifnull(null,Default); C. case when then else end 需求 : 查询 emp 表的员工姓名和工作地址 ( 北京 / 上海 ---- 一线城市 , 其他 ---- 二线城市 ) selectname,( case workaddress when 北京 then 一线城市 when 上海 then 一线城市 else
二线城市 end ) as 工作地址
from emp; 案例 : create table score (id int comment ID,name varchar(20) comment 姓名,math int comment 数学,english int comment 英语,chinese int comment 语文
) comment 学员成绩表;
insert into score(id, name, math, english, chinese)
VALUES
(1, Tom, 67, 88, 95),
(2, Rose , 23, 66, 90),
(3, Jack, 56, 98, 76); 具体的SQL语句如下: select
id,
name,
(case when math 85 then 优秀 when math 60 then 及格 else 不及格 end )
数学,
(case when english 85 then 优秀 when english 60 then 及格 else 不及格
end ) 英语,
(case when chinese 85 then 优秀 when chinese 60 then 及格 else 不及格
end ) 语文
from score; MySQL的常见函数我们学习完了那接下来我们就来分析一下在前面讲到的两个函数的案例场景思考一下需要用到什么样的函数来实现? 数据库中存储的是入职日期如 2000-01-01如何快速计算出入职天数呢 答案: datediff 数据库中存储的是学生的分数值如98、75如何快速判定分数的等级呢 答案: case ... when ... 结语 本人会持续更新文章的哦希望大家一键三连你们的鼓励就是作者不断更新的动力