MySQL常用函数集锦 --- 字符串|数值|日期|流程函数总结

个人主页:兜里有颗棉花糖
欢迎 点赞 收藏✨ 留言✉ 加关注本文由 兜里有颗棉花糖 原创
收录于专栏【MySQL学习专栏】
本专栏旨在分享学习MySQL的一点学习心得,欢迎大家在评论区讨论
MySQL常用函数集锦 --- 字符串|数值|日期|流程函数总结_第1张图片

目录

  • 一、字符串函数
  • 二、数值函数
    • 小练习
  • 三、日期函数
  • 四、流程函数

一、字符串函数

关于字符串函数请看此文章:字符串函数

二、数值函数

下面来介绍5个数值函数,请看:

函数 作用
CEIL(x) 向上取整
FLOOR(x) 向下取整
MOD(x,y) 返回x/y的模
RAND() 返回0到1内的随机数
ROUND(x,y) 求参数x的四舍五入的值,并保留y位小数

ceil(x):向上取整。
举例:select ceil(1.1);
演示结果:
MySQL常用函数集锦 --- 字符串|数值|日期|流程函数总结_第2张图片

MOD(x,y):返回x/y的模
举例:select mod(9,2);
演示结果:
MySQL常用函数集锦 --- 字符串|数值|日期|流程函数总结_第3张图片

rand():返回0到1内的随机数
举例:select rand();
演示结果如下:
在这里插入图片描述

round(x,y):求参数x的四舍五入的值,并保留y位小数。
举例:round(8.354,3);
演示结果如下:
MySQL常用函数集锦 --- 字符串|数值|日期|流程函数总结_第4张图片

小练习

根据数据库语句生成一个6位数的随机验证码:

select lpad(round(rand()*1000000,0),6,'0');

*解释:rand()1000000会生成一个随机数,加上round后保证生成的数是一个整数(此时并不稳定,因为有时生成的数是一个五位数),所以需要加航lpad()函数来进行前补0或者后补0。

三、日期函数

下面是本文的日期函数,请看:

函数 功能
CURDATE() 返回当前的日期
CURTIME() 返回当前的时间
NOW() 返回当前的日期和时间
YEAR(date) 获取指定date的年份
MONTH(date) 获取指定date的月份
DAY(date) 获取指定date的日期
DATE_ADD(date,INTERVAL expr type) 返回一个日期/时间值加上一个时间间隔expr后的时间值
DATEDIFF(date1,date2) 返回起始时间date1和和结束时间之间的date2

curdate():返回当前的日期
举例:select curdate();
演示结果: 在这里插入图片描述

curtime():返回当前的时间
举例:select curtime();
演示结果如下:
MySQL常用函数集锦 --- 字符串|数值|日期|流程函数总结_第5张图片

now():返回当前的日期和时间。
举例:select now();
演示结果如下:
MySQL常用函数集锦 --- 字符串|数值|日期|流程函数总结_第6张图片

YEAR/MONTH/DAY(date):返回当前日期的月份
举例:select month(now());
MySQL常用函数集锦 --- 字符串|数值|日期|流程函数总结_第7张图片

DATE_ADD(date,INTERVAL expr type):返回一个日期/时间值加上一个时间间隔expr后的时间值
举例:select date_add(now(),interval 100 day);
解释:计算当前日期后的100天是什么时间
演示结果如下:
MySQL常用函数集锦 --- 字符串|数值|日期|流程函数总结_第8张图片

DATEDIFF(date1,date2):返回两个日期之间相差多少天
举例:select datediff('2023-5-20','2023-1-20');
演示结果如下:
在这里插入图片描述

小练习:查询所有人的入职天数,并根据入职天数进行倒序排序。
语句如下:select name,datediff(curdate(),entrydate) as 'entrydays' from emp order by entrydats desc;

四、流程函数

函数 功能
IF(value,t,f) 如果value为true则返回t,否则返回f
IFNULL(value1,value2) 如果value不为空则返回value1,否则返回value2
CASE WHEN [val1] THEN [res1] …ELSE[default] END 如果val1为true,则返回res1,…否则返回default默认值
CASE [expr] WHEN [val1] THEN [res1] …ELSE[default] END 如果expr的值等于val1,返回res1,…否则返回default值

举例1:select ifnull(null,'default');
样例演示:
在这里插入图片描述

举例2:select if(true,'ok','error');
样例演示:
在这里插入图片描述

举例3:MySQL常用函数集锦 --- 字符串|数值|日期|流程函数总结_第9张图片
这里有一个学员成绩表,我们以此来进行演示,要求:>=85显示优秀,>=60显示及格,否则显示不合格。

select id,
       name,
       (case when math >= 85 then '优秀' when math >= 65 then '及格' else '不及格' end) '数学',
       (case when chinese >= 85 then '优秀' when math >= 65 then '及格' else '不及格' end) '语文',
       (case when english >= 85 then '优秀' when math >= 65 then '及格' else '不及格' end) '英语'
from score;

演示结果如下:
MySQL常用函数集锦 --- 字符串|数值|日期|流程函数总结_第10张图片

好了,以上就是本文的全部内容,主要对字符串、数值、日期、流程函数进行了总结。

嗯,就到这里啦,再见啦友友们!!!

你可能感兴趣的:(MySQL从入门到精通系列专栏,mysql,数据库,函数)