SELECT CONCAT(
FLOOR(HOUR(TIMEDIFF('2010-01-06 08:46', '2010-01-01 12:30')) / 24), ' days ',
MOD(HOUR(TIMEDIFF('2010-01-06 08:46', '2010-01-01 12:30')), 24), ' hours ',
MINUTE(TIMEDIFF('2010-01-06 08:46', '2010-01-01 12:30')), ' minutes')
Sử dụng end_time và start_time của bạn cho các giá trị ngày giờ cố định trong ví dụ của tôi
Theo hai nhận xét bên dưới, giải pháp này chỉ hoạt động đối với sự khác biệt về ngày trong vòng 35 ngày. Nếu bạn biết có hơn 35 ngày giữa thời điểm bắt đầu và kết thúc, tức là sự khác biệt trong một tháng, đừng sử dụng nó. Các câu trả lời khác ở đây bằng TIMESTAMPDIFF sẽ hoạt động.