44 votes

Différence MySql entre deux horodatages en secondes ?

Est-il possible de calculer la différence entre deux horodatages dans Mysql et d'obtenir le résultat en quelques secondes ? comme 2010-11-29 13:16:55 - 2010-11-29 13:13:55 devrait donner 180 secondes.

Merci

153voto

OderWat Points 1363

Je ne pense pas que la réponse acceptée soit une bonne solution universelle !

Cela est dû au fait que la fonction UNIX_TIMESTAMP() échoue pour les DATE avant 1970-01-01 (et pour les dates dans un futur lointain utilisant des entiers 32 bits). Cela peut arriver facilement pour le jour de la naissance de nombreuses personnes vivantes.

Une meilleure solution est :

 SELECT TIMESTAMPDIFF(SECOND, '2010-11-29 13:13:55', '2010-11-29 13:16:55')

Qui peut être modifié pour retourner aussi JOUR ANNÉE MOIS HEURE et MINUTE !

2voto

Santhosh Gandhe Points 6427

La méthode TIMESTAMPDIFF ne fonctionne qu'avec le format datetime. Si vous voulez la différence entre seulement deux heures comme '11:10:00' moins '10:20:00' alors utilisez

 select TIME_TO_SEC('11:10:00')-TIME_TO_SEC('10:20:00')

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X