MySQL: Como sumar un campo tipo Time

Si tienen un campo tipo Time (formato: 00:00:00) en su base de datos MySQL, y quieren hacer una suma con la tipica consulta:

SELECT SUM(campo_hora) FROM tabla

Verán que no regresa el resultado deseado…, eso es por el tipo de dato, entonces lo que se tiene que hacer es convertir a tipo numérico (segundos), sumar y después volver a convertir a tipo time., todo tan simple como usar una instrucción como sigue:

SELECT SEC_TO_TIME( SUM( TIME_TO_SEC( campo_hora ) ) ) FROM tabla

Y listo!!.., asunto arreglado.

9 thoughts on “MySQL: Como sumar un campo tipo Time

  1. Debo decir que gracias por este aporte, llevo trabajando con mysql mucho tiempo y había probado muchas opciones, pero esta, está genial.
    Dios te proteja, Gracias por este aporte

  2. Ante todo muchas gracias por tus aportes,

    te comento quetengo unproblema con una funcion con jqgrid y me gustaria saber si me puedes regalar tu codigo del jqgrid cuando incluyes una funcion dentro del JqGrid: Como agregar un onchange, onclick en un input

    es que tengo un caso igual y no he podido solucionarlo, no me reconoce la funcion que he creado.

    gracias por tu atencion

  3. Amigo la formula no funciona del todo porque despues de 24 horas vuelve 01 02, etc. osea que no suma mas de 24 horas tengo un reporte que el resultado da 33 hora y me muestra 09:34

    • Primero verifica que si te esté convirtiendo bien de horas a segundos, y la función sec_to_time debería de funcionar bien.

      O hacer el calculo manualmente o con varios valores para probar y detectar el error.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *