Re: Sumar Dias a una Fecha

From: angel Iracheta <angel(dot)iracheta(at)gmail(dot)com>
To: Huilder Mera <hmera(at)chiclayo(dot)abaco-corp(dot)edu(dot)pe>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Sumar Dias a una Fecha
Date: 2004-10-13 23:16:36
Message-ID: 62b4847304101316164704b9eb@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Ok, yo tengo en mi base de datos una tabla CLIENTES en la cual hay un
campo DIASC que son los dias de crédito, supongamos que quiero obtener
una fecha de vencimiento de una factura de un cliente en particular,
por lo tanto modifico la función anterior de la siguiente manera:

1. Ahora recibe 2 parámetros (varchar y date) en el cual envío la
clave del cliente y una fecha (por ejemplo la fecha de una factura)
respectivamente.

2. Agrego una variable (REG_CTE) del tipo record para guardar ahí el
campo DIASC del registro de la tabla CLIENTES que coincida con el
parámetro de la clave del cliente.

3. Agrego una variable (DIAS_PLAZO) del tipo integer para guardar el
valor del campo DIASC del registro almacenado en REG_CTE.

4. Y por último regreso la fecha de vencimiento, sumándole a la fecha
del parámetro el valor de DIAS_PLAZO.

CREATE OR REPLACE FUNCTION public.fecha_venc(varchar, date)
RETURNS date AS
'
DECLARE
cve_cte ALIAS FOR $1;
pfecha ALIAS FOR $2;
reg_cte RECORD;
dias_plazo INTEGER;
BEGIN
SELECT diasc INTO reg_cte FROM CLIENTES WHERE cliente=cve_cte;
dias_plazo:=reg_cte.diasc;
RETURN pfecha + dias_plazo ;
END;'
LANGUAGE 'plpgsql' VOLATILE;

Y listo, ojalá que te sirva.

Saludos!!!

On Wed, 13 Oct 2004 16:49:00 +0200, Huilder Mera
<hmera(at)chiclayo(dot)abaco-corp(dot)edu(dot)pe> wrote:
> Ok, gracias por la respusta el ejemplo funciona perfectamente, pero hay un
> problema, el numero de dias a incrementar le pasas directamente dentro de la
> funcion, y yo nesecito pasarle el valor que tengo en una variable, que
> recupero de una consulta dentro de la misma funcion, Como puedo hacer para
> pasarle el valor de la variable y no un numero constante.
> Gracia de nuevo por tu tiempo.
>
> -----Mensaje original-----
> De: angel Iracheta [mailto:angel(dot)iracheta(at)gmail(dot)com]
> Enviado el: Miércoles, 13 de Octubre de 2004 07:33 p.m.
> Para: hmera(at)chiclayo(dot)abaco-corp(dot)edu(dot)pe
> Asunto: Re: [pgsql-es-ayuda] Sumar Dias a una Fecha
>
>
>
>
> A ver si te sirve:
>
> Suponiendo que creamos la siguiente función:
>
> CREATE OR REPLACE FUNCTION public.incr_fecha(date) RETURNS date AS '
> DECLARE
> pfecha ALIAS FOR $1;
> BEGIN
> RETURN pfecha + integer ''2'';
> END;'
> LANGUAGE 'plpgsql' VOLATILE;
>
> y si posteriormente ejecutamos:
>
> SELECT INCR_FECHA('2004-10-13')
>
> la función regresa:
>
> 2004-10-15
>
> On Wed, 13 Oct 2004 11:45:01 -0500, hmera(at)chiclayo(dot)abaco-corp(dot)edu(dot)pe
> <hmera(at)chiclayo(dot)abaco-corp(dot)edu(dot)pe> wrote:
> > Buenas Srs. de la Lista.
> > Estoy desarrllando un Sistema de Horarios, con Power Builder 8.0 y
> Postgres
> > 7.4.1 y nesecito implementar una funcion en Postgres para poder
> incrementar
> > (sumar) los dias a una fecha, por su puesto utilizando el Lenguaje
> plPgsql.
> >
> > Ejemplo: tengo la siguiente fecha
> > 13/10/2004
> > a esta fecha nesecito sumarle 2 dias, y entonces cuando se ejecute la
> funcion
> > la fecha debe quedar de esta manera : 15/10/2004
> >
> > Agradesco si alguien me puede enviar algun ejemplo y gracias de antemano
> por la
> > respuestas...!
> >
> > --------------------------------------------------------
> > Mensaje enviado desde: http://chiclayo.abaco-corp.edu.pe
> >
> > ---------------------------(end of broadcast)---------------------------
> > TIP 3: si publicas/lees desde Usenet, por favor envía "subscribe-nomal"
> > a majordomo(at)postgresql(dot)org para que tus mensajes puedan llegar
> > a los suscriptores de la lista
> >
>
>

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Ximo Llacer 2004-10-14 09:16:25 SPS + funciones
Previous Message Estéfano Castillo 2004-10-13 20:56:47 RE: CREATE OR REPLACE FUNCTION