Comment faire la différence entre deux dates arrondies en heures

Je vais illustrer ce que je voudrais comprendre dans l’exemple suivant:

'2010-09-01 03:00:00' - '2010-09-01 00:10:00' 

TIMEDIFF() , nous obtenons 2 comme résultat. Cela signifie que les 50 minutes restantes ne sont pas sockets en compte.

Dans ce cas, ce que je voudrais obtenir est: 50 (minutes) / 60 = 0,83 période. Par conséquent, le résultat devrait être 2,83 et non 2.

 select time_to_sec(timediff('2010-09-01 03:00:00', '2010-09-01 00:10:00' )) / 3600; +-----------------------------------------------------------------------------+ | time_to_sec(timediff('2010-09-01 03:00:00', '2010-09-01 00:10:00' )) / 3600 | +-----------------------------------------------------------------------------+ | 2.8333 | +-----------------------------------------------------------------------------+ 

Je pense qu’une réponse plus complète est

 select time_format(timediff(onedateinssortingng,anotherdateinssortingng),'%H:%i:%s') 

Cela vous permet de voir les heures, minutes, secondes, etc. que vous souhaitez voir dans le format souhaité …

Plus d’informations sur time_format: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html#function_time-format

Vous pouvez essayer ce qui suit:

 time_format(timediff(max(l.fecha), min(l.fecha) ),'%H:%m') //Hora y minutos 

Utilisez TIMESTAMPDIFF pour le nombre d’heures exact:

 SELECT b.`Start_Date`, b.`End_Date`, TIMESTAMPDIFF(HOUR, b.`Start_Date`, b.`End_Date`) AS `HOURS` FROM my_table b; 

C’est un très vieux thread, mais vous pouvez également essayer TIMESTAMPDIFF et donner MINUTE, HOUR, SECONDS comme qualificatif.

http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_timestampdiff

MySQL obtient le nombre d’heures entre les horodatages:

 select timestampdiff(second,'2010-09-01 00:10:00', '2010-09-01 03:00:00')/3600; 

Si vous utilisez l’horodatage, cela pourrait être la solution dans MySQL en utilisant SQL.

 SELECT TIMESTAMPDIFF(HOUR, '2010-11-29 13:13:55', '2010-11-29 13:16:55') as newtable; | newtable | 7 1 row in set (0.01 sec)