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 datetime2DATETIME
- datetime2
- Valor del mismo tipo que se restaDATETIME
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;Duración del vuelo
MySQL 8.4
SELECT id,
town_from,
town_to,
TIMEDIFF(time_in, time_out) AS duration
FROM Trip;Diferencia negativa
MySQL 8.4
SELECT TIMEDIFF('14:00:00', '18:00:00') AS diff;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;Detalles
Para obtener la diferencia en segundos, envuelve el resultado en TIME_TO_SEC o usa TIMESTAMPDIFF.