sql >> Base de Datos >  >> RDS >> Mysql

MySQL convierte la salida de timediff a día, hora, minuto, segundo formato

SELECT CONCAT(
FLOOR(HOUR(TIMEDIFF('2010-01-06 08:46', '2010-01-01 12:30')) / 24), ' days ',
MOD(HOUR(TIMEDIFF('2010-01-06 08:46', '2010-01-01 12:30')), 24), ' hours ',
MINUTE(TIMEDIFF('2010-01-06 08:46', '2010-01-01 12:30')), ' minutes')

Use su end_time y start_time para los valores fijos de fecha y hora en mi ejemplo

Según los dos comentarios a continuación, esta solución solo funciona para diferencias de fecha dentro de los 35 días. Si sabe que hay más de 35 días entre el inicio y el final, es decir, diferencias de más de un mes, no lo use. Otras respuestas aquí usando TIMESTAMPDIFF funcionarán.