From: | Micky Khan <mcanchas(at)hotmail(dot)com> |
---|---|
To: | Alvaro Hilario <king314(at)gmail(dot)com> |
Cc: | "alvherre(at)2ndquadrant(dot)com" <alvherre(at)2ndquadrant(dot)com>, "jaime(dot)casanova(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" <pgsql-es-ayuda(at)lists(dot)postgresql(dot)org> |
Subject: | RE: sumar horas y minutos |
Date: | 2018-11-22 15:49:05 |
Message-ID: | HE1P190MB04756733E9931BBBE77E7419D7DB0@HE1P190MB0475.EURP190.PROD.OUTLOOK.COM |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
CREATE TABLE tiempos
(
tiempo interval
)
WITH (
OIDS=FALSE
);
ALTER TABLE tiempos
OWNER TO postgres;
Luego agrego :
00:20
00:35
00:50
00:13
00:25
00:53
Y todos se ponen :
"00:20:00"
"00:35:00"
"00:50:00"
"00:13:00"
"00:25:00"
"00:53:00"
Luego hago mi query :
Select sum(tiempo) from tiempos
Y me sale : "03:53:00"
________________________________
De: Alvaro Hilario <king314(at)gmail(dot)com>
Enviado: jueves, 22 de noviembre de 2018 15:33
Para: 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)lists(dot)postgresql(dot)org
Asunto: Re: sumar horas y minutos
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<mailto: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<mailto: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<mailto: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
From | Date | Subject | |
---|---|---|---|
Next Message | Micky Khan | 2018-11-22 15:56:06 | RE: sumar horas y minutos |
Previous Message | Alvaro Hilario | 2018-11-22 15:33:47 | Re: sumar horas y minutos |