MySQL日期时间函数

发布于:2022-12-13 ⋅ 阅读:(387) ⋅ 点赞:(0)

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


网站公告

今日签到

点亮在社区的每一天
去签到