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

2023-09-18 10:13:19

个人主页:兜里有颗棉花糖
欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创
收录于专栏【MySQL学习专栏】🎈
本专栏旨在分享学习MySQL的一点学习心得,欢迎大家在评论区讨论💌
在这里插入图片描述

一、字符串函数

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

二、数值函数

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

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

ceil(x):向上取整。
举例:select ceil(1.1);
演示结果:
在这里插入图片描述

MOD(x,y):返回x/y的模
举例:select mod(9,2);
演示结果:
在这里插入图片描述

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

round(x,y):求参数x的四舍五入的值,并保留y位小数。
举例:round(8.354,3);
演示结果如下:
在这里插入图片描述

小练习

根据数据库语句生成一个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();
演示结果如下:
在这里插入图片描述

now():返回当前的日期和时间。
举例:select now();
演示结果如下:
在这里插入图片描述

YEAR/MONTH/DAY(date):返回当前日期的月份
举例:select month(now());
在这里插入图片描述

DATE_ADD(date,INTERVAL expr type):返回一个日期/时间值加上一个时间间隔expr后的时间值
举例:select date_add(now(),interval 100 day);
解释:计算当前日期后的100天是什么时间
演示结果如下:
在这里插入图片描述

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:在这里插入图片描述
这里有一个学员成绩表,我们以此来进行演示,要求:>=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;

演示结果如下:
在这里插入图片描述

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

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

更多推荐

400电话怎么办理(申请开通)

申请开通400电话是一项相对简单的过程,只需按照以下步骤进行操作即可。第一步,选择400电话服务提供商。在市场上有很多公司提供400电话服务,您可以根据自己的需求和预算选择适合的服务商。可以通过搜索引擎、咨询朋友或者查看相关论坛等方式获取一些可靠的服务商名单。第二步,了解服务商的费用和服务内容。不同的服务商提供的费用和

消息中间件大揭秘:选择之前你必须知道的关键信息

Hello大家好!我是小米,很高兴再次和大家见面!今天的话题非常精彩,我们将深入探讨消息中间件,并了解一些常见的消息队列:RabbitMQ、RocketMQ、Kafka以及Redis。如果你正在准备面试,或者只是对这些消息中间件感兴趣,那么这篇文章一定会对你有所帮助。什么是消息中间件?首先,让我们来了解一下什么是消息中

RTU遥测终端机,提升水资源管理效率!

2023年水利部发布的《关于推进水利工程配套水文设施建设的指导意见》,强调要聚焦保障水利工程安全高效运行、完善风险监测预警体系、提高防灾减灾能力和水资源水环境水生态综合治理能力、推动新阶段水利高质量发展的要求,加强水利工程配套水文设施建设。遥测终端机在现代水利行业中扮演着重要的角色,可以有效地监测、收集和传输水文数据,

JVM——11.JVM小结

这篇文章我们来小结一下JVMJVM,即java虚拟机,是java代码运行时的环境。我们从底层往上层来说,分别是硬件部分,操作系统,JVM,jre,JDK,java代码。JVM是直接与操作系统打交道的。JVM也是java程序一次编到处运行的主要原因。JVM主要就是讲了一句话,即“Studenta=newStudent()

VScode调试复杂C/C++项目

以前都是用的VScode调试c/cpp的单个文件的编译和执行,但是一遇到大型项目一般就用gdb了,gdb的调试效率和VScode差距还是比较大的,但最近发现VScode其实也能调试复杂的cpp项目,所以记录一下.首先明确一下几点:首先cpp文件需要经过编译,生成可执行文件,然后通过运行/调试可执行文件达到我们想要的效果

OJ练习第175题——打家劫舍 II

打家劫舍II力扣链接:213.打家劫舍II题目描述你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都围成一圈,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负

OpenHarmony创新赛 | 您有一份创新激励奖待领取 请查收!

2023开源和信息消费大赛开放原子开源大赛OpenHarmony创新赛(以下简称“OpenHarmony创新赛”)正如火如荼的进行当中赛程也即将进入到提交作品的关键阶段为了鼓励更多参赛队伍提交作品OpenHarmony创新赛特别设立“创新激励奖”!前100名按要求提交完整作品的参赛队伍即可获得激励奖——创新赛周边限定礼

【机器学习教程】四、随机森林:从论文到实践

引言随机森林(RandomForest)是机器学习领域中一种强大的集成学习算法。它的优秀性能和广泛应用使得它成为了机器学习领域的一个重要里程碑。本文将从算法的发展历程、重要论文、原理以及实际应用等方面详细介绍随机森林,并提供一个复杂的实战案例。算法发展和重要论文随机森林算法最早由TinKamHo于1995年提出,但直到

Layui快速入门之第十三节 日期与时间选择器

目录一:基本用法API渲染属性弹出提示2.8+获取实例2.8+解除实例绑定2.8+关闭日期面板2.7+获取某月的最后一天二:常规用法三:多类型选择器四:范围选择五:直接静态显示六:更多功能示例一:基本用法Layui是一个基于jQuery的前端UI框架,它提供了众多的组件和工具,其中包括日期选择器组件。在Layui中使用

同为科技(TOWE)专业防雷滤波桌面PDU超级插座

2023年第19届杭州亚运会开幕在即,相较于以往,本届杭州亚运会的一大看点就是电竞项目将首次以正式比赛项目的身份亮相亚运赛场,让更多受众能够领略电竞的魅力。当前社会,电竞作为一种新兴的娱乐、社交方式,让很多年轻人通过高科技设备的便捷和高效,在游戏中展示自己的技能和策略,与志同道合的朋友一起体验团队合作的乐趣,从而展现自

2023华为杯研究生数学建模选题建议和获奖助攻

先说一下自己的看法吧,明天会分享点干货以及赛题的思路给大家!查看文末名片即可!很多同学都是第一次参加数学建模比赛,尤其是含金量最高的华为杯,所以在没有经过系统的学习数学建模知识体系的情况下,大家在拿到题目之后,一定要慎重选题,你要确保你选择的题目是可以在四天内完成的!大家可以看一下华为杯去年的赛题题型A题是华为题,与华

热文推荐