下面说的前面减去后面,或者后面减去前面的意思是这样操作,结果是正数,如果将两个时间换个位置,将得到一个负数的结果。
简记一下:
D--大的前(大的时间在前)
T---大的后(大的时间在后)
1、TIMESTAMPDIFF:后面的时间减去前面的时间
时间差不到24小时不算一天,不到60分钟不算一个小时,不到60秒不算一分钟。
select
-- 时间相差不到24小时不算一天
timestampdiff(day,'2020-02-25 00:00:00','2020-02-26') day1, -- 1
timestampdiff(day,'2020-02-25 00:00:01','2020-02-26') day2, -- 0
timestampdiff(day,'2020-02-25 11:00:11','2020-02-26 11:00:11') day3, -- 1
timestampdiff(day,'2020-02-25 11:00:11','2020-02-26 14:00:11') day4, -- 1
timestampdiff(day,'2020-02-25 11:00:11','2020-02-26 10:00:11') day5 -- 0
2、DATEDIFF:前面的时间减去后面的时间
只取前面日期部分进行计算
select
-- 只取前面日期部分进行计算
datediff('2020-02-26','2020-02-25 00:00:00') day1, -- 1
datediff('2020-02-26','2020-02-25 00:00:01') day2, -- 1
datediff('2020-02-26 11:00:11','2020-02-25 11:00:11') day3, -- 1
datediff('2020-02-26 14:00:11','2020-02-25 11:00:11') day4, -- 1
datediff('2020-02-26 10:00:11','2020-02-25 11:00:11') day5 -- 1