Re: replacing expresion in plpgsql - Mailing list pgsql-general

From Andreas Brandl
Subject Re: replacing expresion in plpgsql
Date
Msg-id 2fbfc057-74c8-4fa6-a988-c3b52c5da44b@store1.zcs.ext.wpsrv.net
Whole thread Raw
In response to replacing expresion in plpgsql  (Juan Pablo L <jpablolorenzetti@gmail.com>)
Responses Re: replacing expresion in plpgsql  (John R Pierce <pierce@hogranch.com>)
Re: replacing expresion in plpgsql  (Juan Pablo L <jpablolorenzetti@gmail.com>)
List pgsql-general
Hi,

----- Ursprüngliche Mail -----
>
> Hi, i have a function that receives a parameter which represents
> days:
>
>
> FUNCTION aaa_recharge_account(expdays integer)
>
>
> i want to add those days to the CURRENT_DATE, but i do not know how
> to do it, i have tried several ways to replace that in an expresion
> like:

assuming you want to add expdays days to the CURRENT_DATE, you can just use + arithmetic of date:

# SELECT CURRENT_DATE + 5 as in_the_future_after_5_days;
 in_the_future_after_5_days
----------------------------
 2013-12-21
(1 row)

>
> newexpdate := CURRENT_TIMESTAMP + interval '$1 days' using expdays;
> (newexpdate is declared as timestamp)
>
>
> and many more but none work, can someone please help me to find out
> how can i replace that parameter into an expression that i can add
> to CURRENT_TIMESTAMP or any other way that i can accomplish what i
> need which is to add that parameter to the current timestamp.
> thanks!!!

Check this out:

# select current_timestamp, current_timestamp + interval '2' day;
              now              |           ?column?
-------------------------------+-------------------------------
 2013-12-16 01:16:19.783235+01 | 2013-12-18 01:16:19.783235+01
(1 row)

AFAIK that should also be SQL compliant.

Regards,
Andreas


pgsql-general by date:

Previous
From: Juan Pablo L
Date:
Subject: replacing expresion in plpgsql
Next
From: John R Pierce
Date:
Subject: Re: replacing expresion in plpgsql