Gracias Álvaro y Listeros:
        Exactamente estaba pensando en eso crear una tabla con los feriados
y editarla a mano (dado que los feriados por los menos acá en Argentina a
veces se corren de fecha) y realizar la consulta allí.

Nota:
        Una vez que genera la tabla y la function la subiré a la lista para
ver si alguien tiene la misma posibilidad.

Agradezco la ayuda a toda la lista.

-----Mensaje original-----
De: pgsql-es-ayuda-ow...@postgresql.org
[mailto:pgsql-es-ayuda-ow...@postgresql.org] En nombre de Alvaro Herrera
Enviado el: Miércoles, 01 de Julio de 2009 04:24 p.m.
Para: Daniel Ferrer
CC: pgsql-es-ayuda@postgresql.org
Asunto: Re: [pgsql-es-ayuda] Calculo entre Date

Daniel Ferrer escribió:
> Estimados LISTEROS:
>                 Necesito realizar una consulta donde pueda mostrar la
> cantidad de días transcurridos entre "fecha_inicio" y "fecha_fin".
>                 Pero con la particularidad que debo mostrar la cantidad de
> "Sábados" y "Domingos" que estén contenidos entre ambas fechas.
>                 Además si existe algún tipo de Calendario Oficial donde se
> puedan consultar además los feriados (Argentina).

Días calendario transcurridos:
select '2009-06-15'::date - '2009-06-01';

Para ver la cantidad de sábados (dow=6) y domingos (dow=0):

select sum(case when extract('dow' from ('2009-06-01'::date + num)) in (0,
6) then 1 else 0 end)
  from generate_series(0, '2009-06-15'::date - '2009-06-01'::date) as num;

Para los feriados oficiales, necesitas una tabla adicional.

-- 
Alvaro Herrera                          Developer,
http://www.PostgreSQL.org/
"No es bueno caminar con un hombre muerto"
--
TIP 3: Si encontraste la respuesta a tu problema, publícala, otros te lo
agradecerán

--
TIP 9: visita nuestro canal de IRC #postgresql-es en irc.freenode.net

Responder a