Re: " calcular la diferencia entre dias y horas"

From: Espartano <espartano(dot)mail(at)gmail(dot)com>
To: Jaime Casanova <systemguards(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 15:09:26
Message-ID: d353bd50601120709g37826d11n@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

El 12/01/06, Jaime Casanova<systemguards(at)gmail(dot)com> escribió:
> 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;
>

Mmmmm pero me parece que si las fechas se sacan de los campos de una
tabla la consulta te daria el mismo resultado para una fecha pasada
exactamente en un mes, supongo que si solo se sacan los dias y horas,
esta consulta podria causar cierta confucion.

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Andrés García G. 2006-01-12 15:16:56 Dudas sobre la organizacion de disco duro y los datos almacenados con PostgreSQL
Previous Message Jaime Casanova 2006-01-12 14:45:26 Re: " calcular la diferencia entre dias y horas"