MySQL日期时间函数

MySQL主要的日期函数有以下几种
在这里插入图片描述
那我们直接用代码操作一下

首先是 curdate 返回当前的年月日 我们编写代码如下

SELECT curdate();

运行结果如下
在这里插入图片描述
然后是 curtime 获取当前的时分秒 我们编写代码如下

SELECT curtime();

运行结果如下
在这里插入图片描述
然后就是他们的集合体 now 放回当前时间 既 (年月日 时分秒) 编写代码如下

SELECT now();

运行结果如下
在这里插入图片描述
year 接收 一个时间参数 返回该时间对应的年
所以我建议大家在程序中 把时间处理成字符串 储存在数据库 这里的时间可以直接用字符串 前提要是时间格式的字符串

SELECT year("2021-11-30 11:30:56");

运行结果如下
在这里插入图片描述
2021-11-30 11:30:56这个日期 对应的年是 2021 没有任何问题

month 他也要接收一个时间参数 用时间格式的字符串即可 返回时间对应的月份

SELECT month("2021-11-30 11:30:56");

运行结果如下
在这里插入图片描述
2021-11-30 11:30:56 对应的月份是 11月 没有任何问题

day 接收一个时间参数 可以是时间格式的字符串 返回时间对应的天

SELECT day("2021-11-30 11:30:56");

在这里插入图片描述
2021-11-30 11:30:56 对应的天显然就是 30号 没有任何问题

date_add 求时间间隔
参数如下 date_add(时间,interval 间隔数, 间隔单位)

时间可以是时间格式的字符串
interval 是一个固定写法 后面的间隔时间 比如 你想求 你传的时间 加70 那你就可以写70 是一个数字
时间单位 就是 比如 你间隔数 传了 70 那70什么 天 还是月 还是年 最后一个单位就是决定他间隔的时间单位
间隔单位的值 主要有这三种 ( day 天 month 月 year 年 )
我们来写一段代码

SELECT date_add("2021-11-30 11:30:56",interval 70 day);

这段代码 就是 我们在求 2021-11-30 11:30:56 向后推 70天的日期
运行结果如下
在这里插入图片描述
2021-11-30 11:30:56 向后推七十个月

SELECT date_add("2021-11-30 11:30:56",interval 70 month);

运行结果如下
在这里插入图片描述
2021-11-30 11:30:56向后推 70年

SELECT date_add("2021-11-30 11:30:56",interval 70 year);

运行结果如下
在这里插入图片描述
datediff 求两个时间之间 相差多少天 需要接收两个时间参数 可以是时间格式的字符串
参考代码如下

SELECT datediff("2022-02-08 11:30:56","2021-11-30 11:30:56");

我们就拿刚才测试 向后推七十天得到的2022-02-08 11:30:56试一下
运行结果如下
在这里插入图片描述
没有任何问题

但需要注意的是 他内部写的 应该是 第一个时间 减第二个时间 如果你把我这个方法的两个参数顺序反过来传 就会变成 -70

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值