| From: | Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> | 
|---|---|
| To: | Daniel Ferrer <daniel(dot)ferrer(at)ctd(dot)com(dot)ar> | 
| Cc: | pgsql-es-ayuda(at)postgresql(dot)org | 
| Subject: | Re: Calculo entre Date | 
| Date: | 2009-07-01 19:23:38 | 
| Message-ID: | 20090701192338.GH5098@alvh.no-ip.org | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-es-ayuda | 
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"
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Daniel Ferrer | 2009-07-01 19:47:25 | RE: Calculo entre Date | 
| Previous Message | Jaime Casanova | 2009-07-01 19:10:05 | PostgreSQL 8.4 ha sido liberado |