Jaime Casanova escribió: > 2009/12/4 Jaime Casanova <[email protected]> > > > > 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) -- TIP 3: Si encontraste la respuesta a tu problema, publícala, otros te lo agradecerán
