Re: " calcular la diferencia entre dias y horas"

From: Jaime Casanova <systemguards(at)gmail(dot)com>
To: Espartano <espartano(dot)mail(at)gmail(dot)com>
Cc: Nicolas Sorich <nsorich(at)udec(dot)cl>, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: " calcular la diferencia entre dias y horas"
Date: 2006-01-12 14:45:26
Message-ID: c2d9e70e0601120645k3ae54db2yf46bdb094f5fb69e@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

On 1/12/06, Espartano <espartano(dot)mail(at)gmail(dot)com> wrote:
> El día 12/01/06, Espartano <espartano(dot)mail(at)gmail(dot)com> escribió:
> >
> >
> >
> > El día 12/01/06, Nicolas Sorich <nsorich(at)udec(dot)cl> escribió:
> > >
> > >
> > > Hola lista
> > >
> > > Necesito calcular a traves de una consulta en postgres (si es que se puede)de acuerdo a una fecha,hora de arriendo y fecha,hora de devolución, si han pasado cuantos dias, y horas, para aplicar un cobro, si se pasa por 2 horas.
> >
> >
> > si tus campos para llevar el control son de tipo timestamp que pueden almacenar la fecha y hora puedes hacer lo siguiente:
> >
> > select extract(hours from campo_debolucion - campo_arriendo) from tabla;
> > y te devolvera las horas que han pasado, ya solo tendrias que sacar la equivalencia de a cuantas horas equivalen 4 dias mas las horas que necesitas.
> >
> >
> > >
> > >
> > > eso , no se si alguien lo ha hecho o tiene una idea.
> >
> >
> > Solo fue una idea.
> >
> >
> Idea vastante mala perdon pero he tenido un error
>
> la correccion:
>
> teniendo la siguiente tabla:
>
> prueba=# \d tabla1
> Table "public.tabla1"
> Column | Type | Modifiers
> --------+-----------------------------+-----------
> fecha1 | timestamp without time zone |
> fecha2 | timestamp without time zone |
>
>
>
>
> con los siguientes datos en los campos:
>
> prueba=# SELECT * from tabla1 ;
> fecha1 | fecha2
> ----------------------------+----------------------------
> 12/01/2006 07:43:48.660208 | 16/01/2006 18:43:48.660208
> (1 row)
>
>
>
>
> puedes usar la siguiente consulta:
>
> SELECT date_part('day' ,fecha2-fecha1) as dias, date_part('hours',
> fecha2-fecha1) as horas from tabla1 ;
>
>
>
>
> que te dara el siguiente resultado:
>
> prueba=# SELECT date_part('day' ,fecha2-fecha1) as dias,
> date_part('hours', fecha2-fecha1) as horas from tabla1 ;
> dias | horas
> ------+-------
> 4 | 11
> (1 row)
>
>
> lo que ha pasado con la respuesta anterior es que solo te sacaba la
> diferencia de horas pero sin tomar en cuenta las horas que abarca la
> diferencia de dias, nuevamente mil disculpas espero que te sirva de
> algo.
>

SELECT EXTRACT(day from tiempo) as dias, EXTRACT(hour from tiempo) as horas
FROM (SELECT AGE(fecha2, fecha1) as tiempo) foo;

--
Atentamente,
Jaime Casanova
(DBA: DataBase Aniquilator ;)

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Espartano 2006-01-12 15:09:26 Re: " calcular la diferencia entre dias y horas"
Previous Message LEONARDO GARCIA 2006-01-12 14:33:19 Información de los Querys en Ejecución