Referencia de funciones

TIMEDIFF

Devuelve la diferencia entre dos horas o entre dos valores de fecha y hora.

MySQL 8.4
TIMEDIFF(datetime1, datetime2)
datetime1
Hora o fecha y hora de la que se resta datetime2
DATETIME
datetime2
Valor del mismo tipo que se resta
DATETIME

Valor devuelto

Hora (TIME); puede ser negativa y superar las 24 horas, pero como máximo 838:59:59; NULL si los argumentos son de tipos distintos

Ejemplos

Diferencia dentro de un mismo día

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

Duración del vuelo

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

Diferencia negativa

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

Una diferencia demasiado grande se limita

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

Detalles

Para obtener la diferencia en segundos, envuelve el resultado en TIME_TO_SEC o usa TIMESTAMPDIFF.

Véase también