Справочник по функциям

TIMEDIFF

Возвращает разницу между двумя значениями времени или дат со временем.

MySQL 8.4
TIMEDIFF(datetime1, datetime2)
datetime1
Время или дата со временем, из которых вычитается datetime2
DATETIME
datetime2
Вычитаемое значение того же типа
DATETIME

Возвращаемое значение

Время (TIME), может быть отрицательным и больше 24 часов, но не больше 838:59:59; NULL, если аргументы разного типа

Примеры

Разница в пределах дня

MySQL 8.4
SELECT TIMEDIFF('2022-12-05 18:00:00', '2022-12-05 14:30:00') AS diff;
diff
03:30:00

Длительность полёта

MySQL 8.4
SELECT id,
	town_from,
	town_to,
	TIMEDIFF(time_in, time_out) AS duration
FROM Trip;
idtown_fromtown_toduration
1100RostovParis03:20:00
1101ParisRostov03:33:00
1123RostovVladivostok11:20:00
1124VladivostokRostov10:50:00
1145MoscowRostov01:48:00
1146RostovMoscow02:06:00
1181RostovMoscow01:49:00
1182MoscowRostov01:55:00
1187RostovMoscow01:57:00
1188MoscowRostov01:58:00

Отрицательная разница

MySQL 8.4
SELECT TIMEDIFF('14:00:00', '18:00:00') AS diff;
diff
-04:00:00

Слишком большая разница обрезается

MySQL 8.4
SELECT TIMEDIFF('2022-12-05 18:00:00', '2021-12-01 14:00:00') AS diff;
diff
838:59:59

Подробности

Чтобы получить разницу числом секунд, оберните результат в TIME_TO_SEC или используйте TIMESTAMPDIFF.

Смотрите также