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

Posted 《^LL^》

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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\') -- 获取日期时间的时间(时分秒)

以上是关于SQL中TIMESTAMPDIFF()计算两个时间日期的时间差DATE_SUB()计算某个日期前的具体日期时间DATE_ADD()计算某个日期后的具体日期时间对日期进行加减操作解析的主要内容,如果未能解决你的问题,请参考以下文章

SQL 计算时间差 timestampdiff

SQL 计算时间差 timestampdiff

mysql计算时间差函数

如何将 AM PM 转换为 SQL 中 timestampdiff 的时间戳?

mysql计算时间差函数

请问mysql的sql中如何计算两个datetime的差,精确到小时,谢谢