RE: Ayuda con Fechas

From: Carlos Beltran Villamizar <carlos(dot)beltran(at)datalog(dot)com(dot)co>
To: Fernando Hevia <fhevia(at)ip-tel(dot)com(dot)ar>
Cc: 'Giorgio PostgreSQL' <giorgio(dot)pgsql(at)gmail(dot)com>, pgsql-es-ayuda(at)postgresql(dot)org
Subject: RE: Ayuda con Fechas
Date: 2009-06-12 19:58:13
Message-ID: 1244836693.7713.5.camel@cbeltran-laptop
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

En efecto Señores también me pareció divertido y bueno aquí otra
solución.

create or replace function DomingosEntreFechas(date, date)
RETURNS integer
AS $BODY$
DECLARE
FechaParamDesde ALIAS FOR $1;
FechaParamHasta ALIAS FOR $2;
FechaDesde date;
FechaHasta date;
NDomingos integer;
BEGIN
FechaDesde = FechaParamDesde;
FechaHasta = FechaParamHasta;
IF (FechaHasta < FechaDesde) THEN
FechaHasta = FechaParamDesde;
FechaDesde = FechaParamHasta;
END IF;
NDomingos = 0;
LOOP
EXIT WHEN FechaDesde > FechaHasta;
IF EXTRACT(DOW FROM FechaDesde) = 0 THEN
NDomingos = NDomingos + 1;
FechaDesde = FechaDesde + 7;
ELSE
FechaDesde = FechaDesde + 1;
END IF;
END LOOP;
RETURN NDomingos;
END;
$BODY$ LANGUAGE 'plpgsql';

Prueba:

SELECT DomingosEntreFechas('2009-01-01', '2009-01-31')
4
SELECT DomingosEntreFechas('2009-01-04', '2009-01-04')
1

Desde Bogotá Colombia. Carlos Beltrán V.

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message jorge alvarez 2009-06-12 20:29:22 INFORMACION
Previous Message Fernando Hevia 2009-06-12 19:15:25 RE: Ayuda con Fechas