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

TIMEDIFF

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

MySQL 8.1
TIMEDIFF(datetime1, datetime2)

Параметры

datetime1DATETIME
Время или дата со временем, из которых вычитается datetime2
datetime2DATETIME
Вычитаемое значение того же типа

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

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

Примеры

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

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

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

MySQL 8.1
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.1
SELECT TIMEDIFF('14:00:00', '18:00:00') AS diff;
diff
-04:00:00

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

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

Подробности

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

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