Skip site navigation (1) Skip section navigation (2)

Re: DIA DE SEMANA

From: Jaime Casanova <systemguards(at)gmail(dot)com>
To: Jaime Casanova <systemguards(at)gmail(dot)com>, david aceituno <davidaceituno(at)gmail(dot)com>, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: DIA DE SEMANA
Date: 2006-01-27 19:23:18
Message-ID: c2d9e70e0601271123g2e1a8ccdo8041065eefb0af8c@mail.gmail.com (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
On 1/27/06, Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> wrote:
> Jaime Casanova escribió:
> > On 1/27/06, david aceituno <davidaceituno(at)gmail(dot)com> wrote:
> > > hola nuevamente
> > >
> > > espero no molestar demasiado, gracias a un miembro de la lista ya se como
> > > sacar el numero de semana (anual) de una fecha. Existe alguna forma de que
> > > yo entregue el numero de semana del año y me devuelva las fechas que
> > > corresponden a ese numero de semana ?
> >
> > Pues parece que no te estas explicando bien, la respuesta que te
> > dieron parece ser lo que pedistes...
>
> No veo por que dices eso, si ya tiene la respuesta a la pregunta
> anterior y ahora esta haciendo otra pregunta.
>

entonces el que no entendio fui yo... la gripe me cogio fuerte ;)
disculpa david

> La respuesta yo creo que iria por hacer algo asi como tomar el primer
> dia de la primera semana del año, luego sumarle '7 days'::interval *
> numero-de-semana.  Con eso obtienes el primer dia de esa semana.  El
> ultimo dia de esa semana es '7 days'::interval * (numero-de-semana + 1)
> - '1 day'::interval
>
> La parte dificil es tomar el primer dia de la primera semana.  No se
> bien como se hace eso.  (La respuesta trivial es el primero de enero,
> pero me parece que no es correcto.  Hay que leer la documentacion de
> extract(week) para saberlo.)
>

Por definicion, la primera semana del año es la que contiene al 4 de enero...

el 1 de enero del 2006 fue parte de la ultima semana (domingo fue el
ultimo dia) del año 2005

pruebas=# select extract(week from '2006-01-01'::date);
 date_part
-----------
        52
(1 fila)


y el 2 de enero el primer dia de la primera semana del 2006

pruebas=# select extract(week from '2006-01-02'::date);
 date_part
-----------
         1
(1 fila)


siendo asi parece que esto funciona:

pruebas=# select '2006-01-04'::date - (extract(dow from
'2006-01-04'::date)::int - 1);
  ?column?
------------
 2006-01-02
(1 fila)


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

In response to

Responses

pgsql-es-ayuda by date

Next:From: Jaime CasanovaDate: 2006-01-27 20:55:56
Subject: Re: Problema con pg_dump
Previous:From: Alvaro HerreraDate: 2006-01-27 18:26:30
Subject: Re: Resultados de PGCluster y slony

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group