Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

MySQL converte a saída do timediff para dia, 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 seu end_time e start_time para os valores fixos de data e hora no meu exemplo

De acordo com os dois comentários abaixo, esta solução só funciona para diferenças de data dentro de 35 dias. Se você sabe que há mais de 35 dias entre o início e o fim, ou seja, diferenças de mais de um mês, não use. Outras respostas aqui usando TIMESTAMPDIFF funcionarão.