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 @ 2021-06-06 01:54  余生&安好  阅读(2663)  评论(0编辑  收藏  举报