前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【0基础学习mysql】之日期函数和流程函数

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

作者头像
天寒雨落
发布2022-11-20 10:52:09
4460
发布2022-11-20 10:52:09
举报
文章被收录于专栏:编程学习之路编程学习之路

个人主页:天寒雨落的博客_CSDN博客-C,CSDN竞赛,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

 原始数据

代码

代码语言:javascript
复制
select name, (case WHEN age>=65 THEN '老年' ELSE '青年' END) from user;

执行结果

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

代码

代码语言:javascript
复制
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的朋友可以联系我,互相讨论,一起进步!!!

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-10-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  •  日期函数
    • 常见的日期函数表
      • 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 WHEN [vall] THEN [res1]...ELSE[default] END和CASE[expr] WHEN [vall] THEN [res1]...ELSE[default] END的区别
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档