【0基础学习mysql】之日期函数和流程函数

本文详细介绍了MySQL中常用的日期函数,如CURDATE(), CURTIME(), NOW(),以及YEAR(), MONTH(), DAY()等,还讲解了DATE_ADD()和DATEDIFF()函数的使用。此外,文章还探讨了流程控制函数,包括IF(), IFNULL(), CASE WHEN...END的用法,并通过实例展示了它们在实际查询中的应用。最后,对比了两种CASE语句的不同之处,为学习MySQL的读者提供了实践指导。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 个人主页:天寒雨落的博客_优快云博客-C,优快云竞赛,python领域博主

​ 特别标注:仅为自己的学习记录笔记,方便复习和加深记忆,仅供借鉴参考!

目录

 日期函数

常见的日期函数表

CURDATE()/CURTIME()/NOW()

 YEAR(date)/MONTH(date)/DAY(date)

 DATE_ADD(date,INTERVAL expr type)/DATEDIFF(date1,date2)

流程函数 

IF(value,t,f)

 IFNULL(value1,value2)

 CASE WHEN [vall] THEN [res1]...ELSE[default] END

​编辑 CASE[expr] WHEN [vall] THEN [res1]...ELSE[default] END

 CASE WHEN [vall] THEN [res1]...ELSE[default] END和CASE[expr] WHEN [vall] THEN [res1]...ELSE[default] END的区别


 日期函数

常见的日期函数表

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

CURDATE()/CURTIME()/NOW()

代码

select curdate();select curtime();select time();

执行结果

 

 YEAR(date)/MONTH(date)/DAY(date)

代码

select year(now());select month(now()); select day(now());

执行结果

 DATE_ADD(date,INTERVAL expr type)/DATEDIFF(date1,date2)

代码

select date_add(now(),interval 99 day);select datediff('2022-12-12','2021-12-12');

执行结果

流程函数 

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

IF(value,t,f)

代码

select if(true,"yes","no");/select if(false,"yes","no");

执行结果

 IFNULL(value1,value2)

判断value1是否为空,不为空返回value1,为空返回value2

代码

select ifnull('OK','default');/select ifnull(null,'default');

执行结果

 

 CASE WHEN [vall] THEN [res1]...ELSE[default] END

 原始数据

代码

select name, (case WHEN age>=65 THEN '老年' ELSE '青年' END) from user;

执行结果

 CASE[expr] WHEN [vall] THEN [res1]...ELSE[default] END

代码

select name, (case age WHEN 18 THEN '刚成年' ELSE '非刚成年' END) from user;

执行结果

 CASE WHEN [vall] THEN [res1]...ELSE[default] END和CASE[expr] WHEN [vall] THEN [res1]...ELSE[default] END的区别

前者更倾向于划分一个范围,而后者更加精确到某个值

各位学习mysql的朋友可以联系我,互相讨论,一起进步!!!

👍+✏️+⭐️是对博主最大的鼓励与支持!!!

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天寒雨落

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值