SQL中TIMESTAMPDIFF()计算两个时间日期的时间差、DATE_SUB()计算某个日期前的具体日期时间、DATE_ADD()计算某个日期后的具体日期时间对日期进行加减操作解析

SQL中TIMESTAMPDIFF()计算两个时间日期的时间差、DATE_SUB()计算某个日期前的具体日期时间、DATE_ADD()计算某个日期后的具体日期时间对日期进行加减操作解析:

1. TIMESTAMPDIFF()使用方法:

# 计算两个日期时间的时间差值
TIMESTAMPDIFF(time_type, begin_time, end_time)

-- time_type参数(最后获取时间差的单位)
/**
SECOND / 秒
MINUTE / 分钟
HOUR / 小时
DAY / 天
MONTH / 月
YEAR / 年
*/

-- begin_time 开始时间或开始时间字段

-- end_time 结束时间或结束时间字段

例如:获取某两个时间的时间差(结果以秒单位显示)

TIMESTAMPDIFF(SECOND, '2021-06-06 01:10:10', '2021-06-06 01:11:10')

2. DATE_SUB()使用方法:

# 计算某个日期前的日期具体时间
DATE_SUB(date_time, INTERVAL time_size time_type)

-- date_time参数(以某个时间为参考值)
/**
NOW() 获取当前系统日期与时间(年月日时分秒)
CURDATE() 获取当前系统日期(年月日)
或者直接写一个具体日期值作为参考时间
*/

-- time_size 具体时间数

-- time_type参数(最后获取时间差的单位)
/**
SECOND / 秒
MINUTE / 分钟
HOUR / 小时
DAY / 天
MONTH / 月
YEAR / 年
*/

例如:获取当前日期30天前的日期

DATE_SUB(CURDATE(), INTERVAL 30 DAY)

3. DATE_ADD()使用方法:

# 计算某个日期后的日期具体时间
DATE_ADD(date_time, INTERVAL time_size time_type)

-- date_time参数(以某个时间为参考值)
/**
NOW() 获取当前系统日期与时间(年月日时分秒)
CURDATE() 获取当前系统日期(年月日)
或者直接写一个具体日期值作为参考时间
*/

-- time_size 具体时间数

-- time_type参数(最后获取时间差的单位)
/**
SECOND / 秒
MINUTE / 分钟
HOUR / 小时
DAY / 天
MONTH / 月
YEAR / 年
*/

例如:获取当前日期30天后的日期

DATE_ADD(CURDATE(), INTERVAL 30 DAY)

小拓展

NOW() -- 获取当前系统日期及时间(年月日时分秒)
CURDATE() -- 获取当前系统日期(年月日)
DATE('2021-06-06 01:22:10') -- 获取日期时间的日期(年月日)
TIME('2021-06-06 01:22:10') -- 获取日期时间的时间(时分秒)
posted @   余生&安好  阅读(2795)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示