From: | mauricio pullabuestan <jmauriciopb(at)yahoo(dot)es> |
---|---|
To: | Ayuda Esp PostgreSQL <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Diferencia entre timestamp a interval en formato horas |
Date: | 2018-05-02 02:56:57 |
Message-ID: | 1498965256.4866249.1525229817985@mail.yahoo.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Buen día.
Tengo los siguientes datos de ejemplo
Create table tiempos (inicial timestamp, final timestamp);
Insert Into tiempos
Values
('2018-03-15 07:39:57', '2018-03-15 21:06:44'),
('2018-03-15 21:06:44', '2018-03-16 07:55:20'),
('2018-03-16 07:55:20', '2018-03-16 15:38:58'),
('2018-03-16 15:38:58', '2018-03-16 19:59:34'),
('2018-03-16 19:59:34', '2018-03-18 07:58:49'),
('2018-03-18 07:58:49', '2018-03-18 14:34:34');
Select inicial, final, final - inicial As diferencia
from tiempos;
Inicial Final Diferencia
2018-03-15 07:39:57 2018-03-15 21:06:44 13:26:47
2018-03-15 21:06:44 2018-03-16 07:55:20 10:48:36
2018-03-16 07:55:20 2018-03-16 15:38:58 07:43:38
2018-03-16 15:38:58 2018-03-16 19:59:34 04:20:36
2018-03-16 19:59:34 2018-03-18 07:58:49 1 day 11:59:15
2018-03-18 07:58:49 2018-03-18 14:34:34 06:35:45
Cuando la diferencia es mayor a un día me muestra 1 day 11:59:15, necesito que me muestre en formato de horas, es decir 35:59:15, así cuando haga un balance de la columna diferencia mantenga el formato de horas.
With t
AS
(
Select inicial, final, final - inicial As diferencia
from tiempos
)
Select *
, sum(diferencia)
OVER(ORDER BY inicial
ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS balance
From t;
Inicial Final Diferencia balance
2018-03-15 07:39:57 2018-03-15 21:06:44 13:26:47 13:26:47
2018-03-15 21:06:44 2018-03-16 07:55:20 10:48:36 24:15:23
2018-03-16 07:55:20 2018-03-16 15:38:58 07:43:38 31:59:01
2018-03-16 15:38:58 2018-03-16 19:59:34 04:20:36 36:19:37
2018-03-16 19:59:34 2018-03-18 07:58:49 1 day 11:59:15 1 day 48:18:52
2018-03-18 07:58:49 2018-03-18 14:34:34 06:35:45 1 day 54:54:37
Aquí se me muestra como lo necesito incluso cuando el tiempo es mayor a 24:00 h, pero se encuentra con un valor 1 day el formato es otro, como puedo hacer para que todos los cálculos se muestren en formato hora?
Saludos
Mauricio
From | Date | Subject | |
---|---|---|---|
Next Message | Jairo Graterón | 2018-05-02 04:06:31 | Re: Diferencia entre timestamp a interval en formato horas |
Previous Message | Jairo Graterón | 2018-05-01 20:03:52 | Re: Log de conexion |