sql >> Base de Datos >  >> RDS >> Mysql

Contando horas usando MySQL

Pensé en publicar la respuesta desde la perspectiva de resumir los problemas relacionados con el valor del tiempo que los desarrolladores y los usuarios han enfrentado hasta ahora. No se trata solo de formatear.

Es posible que haya notado o no que existe la posibilidad de que el motor calcule mal la suma de su tiempo total. Además, el motor mysql podría devolver un valor nulo aunque tenga valores.

Cuando está agregando/agregando valores de tiempo, se convierte como un número y los resultados estarán en formato de número. Si intenta sumar valores de tiempo como los siguientes:

p.ej. 01:38:50, 03:40:25 --> idealmente debería resultar en 05:19:15

  • Si haces Sum (los dos anteriores) --> obtienes un número
  • Si usa CAST(Sum(los dos anteriores) COMO TIEMPO) --> obtiene nulo
  • Hay otras dos posibilidades que se muestran en el fragmento de mi código.

Referencia de código de muestra . Le mostrará los diferentes resultados que acabamos de discutir. Por ahora, parece que el formato de tres vías podría ayudar.

time_format(sec_to_time(sum(time_to_sec(logged_duration))),'%h:%i:%s') total_log_duration

El error informado a MySQL aún no se ha corregido.