Mysql
 sql >> Base de données >  >> RDS >> Mysql

MySQL convertit la sortie timediff au format jour, heure, minute, seconde

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')

Utilisez votre end_time et start_time pour les valeurs datetime fixes dans mon exemple

Selon les deux commentaires ci-dessous, cette solution ne fonctionne que pour les différences de date dans les 35 jours. Si vous savez qu'il y a plus de 35 jours entre le début et la fin, c'est-à-dire des différences sur un mois, ne l'utilisez pas. D'autres réponses ici utilisant TIMESTAMPDIFF fonctionneront.