Kết hợp TIMEDIFF() (trả về TIME) và TIME_TO_SEC() (chuyển TIME thành tổng giây).
Cú pháp:
SELECT TIME_TO_SEC(TIMEDIFF(cot_thoi_gian_1, cot_thoi_gian_2)) AS ten_alias FROM ten_bang;
Ví dụ:
CREATE TABLE TimeToSecond (MyTime TIMESTAMP, YourTime TIMESTAMP);
INSERT INTO TimeToSecond VALUES
('2016-05-10 10:02:00','2016-05-10 10:00:00'),
('2016-05-10 10:06:00','2016-05-10 10:03:00'),
('2018-05-10 11:00:00','2018-05-10 10:00:00');
Truy vấn:
SELECT TIME_TO_SEC(TIMEDIFF(MyTime, YourTime)) AS DifferenceInSeconds FROM TimeToSecond;
Kết quả
+---------------------+ | DifferenceInSeconds | +---------------------+ | 120 | -- 2 phút | 180 | -- 3 phút | 3600 | -- 1 giờ +---------------------+
Lưu ý:
TIMEDIFFtrả vềTIME(có thể âm nếu tham số 1 < tham số 2).TIME_TO_SECchuyểnHH:MM:SSthành tổng giây (có thể âm).- Kết quả kiểu
BIGINT.
Mở rộng: Dùng TIMESTAMPDIFF(SECOND, cot1, cot2) trực tiếp (đơn giản hơn, hỗ trợ nhiều đơn vị: MICROSECOND, MINUTE, HOUR, DAY...).