Dùng CONCAT() để chuyển kết quả TIMEDIFF sang định dạng ngày, giờ, phút, giây.
Tạo bảng có StartDate, EndDate:
mysql> create table convertTimeDifferenceDemo -> ( -> Id int NOT NULL AUTO_INCREMENT, -> StartDate datetime, -> EndDate datetime, -> PRIMARY KEY(Id) -> ); Query OK, 0 rows affected (0.68 sec)
Chèn dữ liệu (kể cả khoảng cách 34 ngày):
mysql> insert into convertTimeDifferenceDemo(StartDate,EndDate) values(date_add(now(),interval -3 hour),date_add(now(),interval 3 hour)); ... mysql> insert into convertTimeDifferenceDemo(StartDate,EndDate) values('2017-10-11 11:20:30','2017-12-17 15:21:55');Truy vấn chuyển đổi:
mysql> SELECT CONCAT( -> FLOOR(HOUR(TIMEDIFF(StartDate,EndDate)) / 24), ' DAYS ', -> MOD(HOUR(TIMEDIFF(StartDate,EndDate)), 24), ' HOURS ', -> MINUTE(TIMEDIFF(StartDate,EndDate)), ' MINUTES ') AS DESCRIPTION -> FROM convertTimeDifferenceDemo;
+------------------------------+ | DESCRIPTION | +------------------------------+ | 0 DAYS 6 HOURS 0 MINUTES | | 0 DAYS 4 HOURS 0 MINUTES | | 34 DAYS 22 HOURS 59 MINUTES | | 34 DAYS 22 HOURS 59 MINUTES | +------------------------------+ 4 rows in set, 6 warnings (0.04 sec)