TIMEDIFF(endDate, startDate)
đầu ra ở định dạng DateTime, phẳng đến mức có dấu thời gian và chia theo (60 * 60)
SELECT (UNIX_TIMESTAMP(TIMEDIFF(endDate, startDate))/(60*60)) AS hours_difference
FROM tasks
Chỉnh sửa: Ngoài ra, TimestampDiff cũng có thể cung cấp một giải pháp hợp lệ theo cách thanh lịch hơn bằng cách cung cấp ví dụ của nó:
SELECT TIMESTAMPDIFF(MONTH,'2003-02-01','2003-05-01');
Và giải pháp của bạn có thể là:
SELECT TIMESTAMPDIFF(HOUR, startDate, endDate) AS hours_different
FROM tasks