[Pgsql-ayuda] años bisiestos........

From: "GUSTAVO MARTIN OCAMPO" <gocampo79(at)hotmail(dot)com>
To: pgsql-ayuda(at)tlali(dot)iztacala(dot)unam(dot)mx
Subject: [Pgsql-ayuda] años bisiestos........
Date: 2003-12-10 15:59:13
Message-ID: Law10-F97dhKGliNDhP00022138@hotmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola lista, tengo una funcion de la forma.......

CREATE OR REPLACE FUNCTION plpg_detalle_mensual(text, text) RETURNS SETOF
basemovim AS '
DECLARE
newrow basemovim%ROWTYPE;
mes ALIAS FOR $1;
anio ALIAS FOR $2;
BEGIN
IF mes = ''Enero'' OR mes = ''enero'' OR mes = ''ENERO'' THEN
FOR newrow IN Select basemovibanco.fecha_vencimiento,
sum(basemovibanco.importe) as

total, tabdebicredi.descripcion as debicredi from (basemovibanco inner join
tabdebicredi on

basemovibanco.id_debicredi = tabdebicredi.id_debicredi) where
basemovibanco.fecha_vencimiento

between cast(''01-01-'' || anio as date) and cast(''31-01-'' || anio as
date) group by

basemovibanco.fecha_vencimiento, debicredi order by
basemovibanco.fecha_vencimiento, debicredi

desc LOOP
RETURN NEXT newrow;
END LOOP;
END IF;
IF mes = ''Febrero'' OR mes = ''febrero'' OR mes = ''FEBRERO'' THEN
FOR newrow IN Select basemovibanco.fecha_vencimiento,
sum(basemovibanco.importe) as

total, tabdebicredi.descripcion as debicredi from (basemovibanco inner join
tabdebicredi on

basemovibanco.id_debicredi = tabdebicredi.id_debicredi) where
basemovibanco.fecha_vencimiento

between cast(''01-02-'' || anio as date) and cast(''28-02-'' || anio as
date) group by

basemovibanco.fecha_vencimiento, debicredi order by
basemovibanco.fecha_vencimiento, debicredi

desc LOOP
RETURN NEXT newrow;
END LOOP;
END IF;
..................(continua para los otros meses)
...
RETURN;
END;
' language plpgsql;
..o sea, los parametros que le paso son el mes y el año, ahora, mi problema
es con los años bisiestos, existe alguna funcion que me devuelva algun valor
booleano diciendome si un año es bisiesto? otra idea que se me ocurre es
crear otra funcion que, justamente, me diga si un año es bisiesto o no y
llamar a esta funcion desde la descripta mas arriba, se puede hacer esto?
Otra pregunta que tengo es si hay manera de resumir un poco el codigo de
esta funcion porque hacer un if por cada mes se me hace grande la funcion.
Desde ya gracias, y acepto todo tipo de sugerencias.-

_________________________________________________________________
Charla con tus amigos en línea mediante MSN Messenger:
http://messenger.latam.msn.com/

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Antonio Castro 2003-12-10 16:57:33 Re: [Pgsql-ayuda] Migracion del esquema de bases de datos
Previous Message Sebastian Arriada 2003-12-10 14:41:09 Re: [Pgsql-ayuda] Migracion del esquema de bases de datos