Re: sumar horas y minutos

From: Alvaro Hilario <king314(at)gmail(dot)com>
To: mcanchas(at)hotmail(dot)com
Cc: alvherre(at)2ndquadrant(dot)com, jaime(dot)casanova(at)2ndquadrant(dot)com, pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org>, pgsql-es-ayuda(at)lists(dot)postgresql(dot)org
Subject: Re: sumar horas y minutos
Date: 2018-11-22 15:33:47
Message-ID: CAO4LjX6cprt+rQ_54VQJ5BBAknBUO7kbGsHaCprra5_zEcCWeg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola, revisa los valores insertados en la tabla, hice el escenario que
describes y me da el resultado de 3:16 como indicas que debería dar.

El jue., 22 nov. 2018 a las 11:13, Micky Khan (<mcanchas(at)hotmail(dot)com>)
escribió:

> "tiempo"
> "00:20:00"
> "00:35:00"
> "00:50:00"
> "00:13:00"
> "00:25:00"
> "00:53:00"
>
> Lo puse todo a un campo interval(gracias por la sugerencia) y la suma me
> sale "03:53:00" !!!!!!!!!!!!!!
> Deberia salir "03:16"
>
> Select sum(tiempo) from tiempos
>
> Ese fue mi query,...
>
> Por que me calcula mal ??
>
>
>
> ------------------------------
> *De:* Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>
> *Enviado:* jueves, 22 de noviembre de 2018 14:59
> *Para:* Jaime Casanova
> *Cc:* MKHotmail; POSTGRES; pgsql-es-ayuda(at)lists(dot)postgresql(dot)org
> *Asunto:* Re: sumar horas y minutos
>
> Jaime Casanova escribió:
>
> > Como Álvaro hace notar lo que interesa aquí es saber el tipo de dato,
> > si es interval o time bastaría con un sum si es de tipo text tendrás
> > que hacer primero un cast y luego sumar
>
> Ojo que un time no se puede sumar de forma satisfactoria en general. De
> partida, "time" representa hora del día. Ejemplo '13:00' es la 1pm de un
> cierto
> día. Sumar dos time directamente no tiene sentido, y no hay operador:
>
> =# select time '13:00' + time '13:00';
> ERROR: el operador no es único: time without time zone + time without
> time zone
> LÍNEA 1: select time '13:00' + time '13:00';
> ^
> SUGERENCIA: No se pudo escoger el operador más adecuado. Puede ser
> necesario agregar conversiones explícitas de tipos.
>
> Ahora, podrías sumar un time con un interval (empezaste a tal hora y te
> demoraste cierto intervalo de tiempo). Pero como time representa hora del
> día,
> obviamente el resultado no puede pasar de 24 horas ... ejemplo:
>
> =# select time '13:00' + interval '13:00';
> ?column?
> ──────────
> 02:00:00
> (1 fila)
>
> El resultado en este caso son las 2 am del día siguiente.
>
>
> Lo que sí funciona es sumar interval, que representan duraciones de algo
> (estuviste trece horas trabajando y después trece horas durmiendo):
>
> =# select interval '13:00' + interval '13:00';
> ?column?
> ──────────
> 26:00:00
> (1 fila)
>
> --
> Álvaro Herrera https://www.2ndQuadrant.com/
> PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
>

--
Al_Hilario Company

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Micky Khan 2018-11-22 15:49:05 RE: sumar horas y minutos
Previous Message Micky Khan 2018-11-22 15:12:51 RE: sumar horas y minutos