Re: trabajo con fechas

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: Jaime Casanova <jcasanov(at)systemguards(dot)com(dot)ec>
Cc: Arcel Labrada Batista <alabradab(at)uci(dot)cu>, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: trabajo con fechas
Date: 2009-12-07 18:21:04
Message-ID: 20091207182104.GK3552@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Jaime Casanova escribió:
> 2009/12/4 Jaime Casanova <jcasanov(at)systemguards(dot)com(dot)ec>
> >
> > Ahora caigo en cuenta que esto falla al cambiar de año
> >
>
> Aja! esta es la manera:
>
> with q as (
> select *
> from generate_series('2009-10-01 00:00:00'::timestamp with time zone,
> '2010-12-04 00:00:00'::timestamp with time zone,
> '1 day'::interval) as foo
> )
> select * from q
> where extract(week from foo + '1 week'::interval) = extract(week from
> current_date)

A mí no me gusta mucho esta solución, porque funciona ahora pero el 2011
va a dejar de funcionar. Además tienes que llenar un tuplestore con
todos los días de un período de más de un año, para luego tener que
hacer un join de ese tuple store (==> ineficiente). La otra solución
que usaba aritmética para encontrar exactamente la semana que querías se
ve un poco más compleja pero es más precisa.

Creo que lo ideal sería expresar esa otra solución usando WITH;
seguramente se vería más bonito :-)

--
Alvaro Herrera Vendo parcela en Valdivia:
http://valdivia.vivastreet.cl/loteos-lotes+valdivia/parcela-en-cabo-blanco--valdivia/19288372
"I love the Postgres community. It's all about doing things _properly_. :-)"
(David Garamond)

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Jaime Casanova 2009-12-07 18:47:50 Re: trabajo con fechas
Previous Message Pablo Braulio 2009-12-07 17:35:14 Re: Clonar tabla y su contenido.