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

Re: Numero de semana + fechas

From: Jaime Casanova <jcasanov(at)systemguards(dot)com(dot)ec>
To: Jorge Diaz <jorge(dot)diaz(dot)t(at)gmail(dot)com>
Cc: "pgsql-es-ayuda(at)postgresql(dot)org" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Numero de semana + fechas
Date: 2010-01-14 04:45:10
Message-ID: 3073cc9b1001132045y77e0efb9i130fe03411ed5d26@mail.gmail.com (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
2010/1/13 Jaime Casanova <jcasanov(at)systemguards(dot)com(dot)ec>:
> 2010/1/13 Jorge Diaz <jorge(dot)diaz(dot)t(at)gmail(dot)com>:
>>
>> Sin embargo me piden mostrar, el primer y el ultimo día de cada semana, un
>> ejemplo seria asi:
>>
>> Num  Fec_Inicial  Fec_Final
>> 01     03/01/2010  09/01/2010
>> 02     10/01/2010  16/01/2010
>>
>> Desde que inicia el año hasta que termina.
>>
>
> Si estas usando postgres 8.4 esto te serviria:
>

esto me gusto, si necesitas hacer este cada año usa esta función:

create or replace function fechas_anio(in anio int, out num int, out
fecha_inicial date, out fecha_final date)
returns setof record as
$$
    with recursive fechas(n, fi, ff) as (
         select extract(week from f1), f1, f1 + 6
            from (select (($1 || '-02-01')::date -
                         (extract(week from ($1 || '-02-01')::date) -
1 || ' weeks')::interval)::date -
                         (extract(dow from ($1 ||
'-02-01')::date)::integer - 1) as f1
                 ) as foo
         union all
         select n + 1, ff + 1, ff + 7 from fechas
          where extract(year from ff) = $1
 )
 select n::int, fi, ff from fechas;
 $$ language sql


y luego la ejecutas asi:

 select to_char(num, '09'), fecha_inicial, fecha_final from fechas_anio(2011)

-- 
Atentamente,
Jaime Casanova
Soporte y capacitación de PostgreSQL
Asesoría y desarrollo de sistemas
Guayaquil - Ecuador
Cel. +59387171157

In response to

pgsql-es-ayuda by date

Next:From: Jaime CasanovaDate: 2010-01-14 04:46:52
Subject: Re: Redireccionar RAISE
Previous:From: Jaime CasanovaDate: 2010-01-14 04:22:42
Subject: Re: Numero de semana + fechas

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