Maison >base de données >tutoriel mysql >Comment convertir la sortie MySQL TIMEDIFF au format jour, heure, minute, seconde ?

Comment convertir la sortie MySQL TIMEDIFF au format jour, heure, minute, seconde ?

DDD
DDDoriginal
2024-10-24 02:03:02942parcourir

How to Convert MySQL TIMEDIFF Output into Day, Hour, Minute, Second Format?

Conversion des sorties de différence de temps au format jour, heure, minute, seconde

Lors du calcul de la différence entre deux valeurs de temps à l'aide de la fonction TIMEDIFF de MySQL, vous pouvez obtenir des résultats au format heures, minutes et secondes. Cependant, il peut y avoir des cas où vous aurez besoin que ce résultat soit affiché de manière plus conviviale, par exemple en affichant le nombre de jours, d'heures, de minutes et de secondes.

Considérez la requête suivante :

<code class="sql">SELECT TIMEDIFF(end_time,start_time) AS "total" FROM `metrics`;</code>

Si les colonnes end_time et start_time contiennent des valeurs telles que « 2023-03-08 12:34:56 » et « 2023-03-04 15:12:34 », la requête renverra le décalage horaire comme '105:08:22'. Bien que cela indique la durée totale de 105 heures, 8 minutes et 22 secondes, ce n'est peut-être pas la représentation la plus pratique pour l'utilisateur.

Pour convertir cette sortie dans un format plus lisible par l'homme, vous pouvez utiliser l'approche suivante :

<code class="sql">SELECT CONCAT(
FLOOR(HOUR(TIMEDIFF(end_time,start_time)) / 24), ' days ',
MOD(HOUR(TIMEDIFF(end_time,start_time)), 24), ' hours ',
MINUTE(TIMEDIFF(end_time,start_time)), ' minutes')</code>

Remplacez end_time et start_time par vos colonnes spécifiques dans la requête. La sortie sera au format « jours heures minutes ». Par exemple, le décalage horaire de « 105:08:22 » s'afficherait sous la forme « 4 jours 9 heures 8 minutes ».

Il est important de noter que cette méthode n'est applicable qu'aux décalages horaires compris dans les 35 jours. Pour les décalages horaires s'étendant sur plus d'un mois, des approches alternatives telles que l'utilisation de TIMESTAMPDIFF() peuvent être plus appropriées.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn