Hàm DATEDIFF() chỉ dùng phần ngày, bỏ qua giờ. Để tính đúng số ngày 24 giờ, dùng TIMESTAMPDIFF(DAY, start, end).
Ví dụ
Tính ngày 24h giữa '2017-05-23 12:00:00' và '2017-05-27 11:59:00':
mysql> SELECT TIMESTAMPDIFF(DAY, '2017-05-23 12:00:00', '2017-05-27 11:59:00'); +---------------------------------------------------------------------------+ | TIMESTAMPDIFF(DAY, '2017-05-23 12:00:00', '2017-05-27 11:59:00') | +---------------------------------------------------------------------------+ | 3 | +---------------------------------------------------------------------------+
Kết quả là 3 (chưa đủ 4 ngày tròn 24h). DATEDIFF sẽ trả về 4 vì chỉ so sánh phần ngày.