【MySQL篇】时间差函数TIMESTAMPDIFF、DATEDIFF以及CURDATE()

datediff

datediff函数,返回值是相差的天数,不能定位到小时、分钟和秒。

select datediff('2020-07-03 01:00:00', '2020-07-01 07:00:00');

返回结果是相差2天

TIMESTAMPDIFF

TIMESTAMPDIFF函数,有参数设置,对于比较的两个时间,时间小的放在前面,时间大的放在后面。

  • SECOND 秒
  • MINUTE 分钟
  • HOUR 小时
  • DAY 天
  • WEEK 星期
  • MONTH 月
  • QUARTER 季度
  • YEAR 年
select TIMESTAMPDIFF(DAY, '2020-07-01 23:59:00', '2020-07-03 00:00:00');
select TIMESTAMPDIFF(HOUR, '2020-07-01 09:00:00', '2020-07-03 10:00:00');
select TIMESTAMPDIFF(MINUTE, '2020-07-01 09:00:00', '2020-07-03 10:00:00');

返回结果是相差1天相差49小时相差2940分钟


SELECT TIMESTAMPDIFF(YEAR, birth, CURDATE()) as 年龄, COUNT(*) as 人数 FROM 表名 GROUP BY 年龄

CURDATE()

CURDATE() 返回当前的日期。

SELECT NOW(),CURDATE(),CURTIME()

返回结果是

NOW() CURDATE() CURTIME()
2008-11-11 12:45:34 2008-11-11 12:45:34

你可能感兴趣的:(mysql)