Обсуждение: help replacing expresion in plpgsql

Поиск
Список
Период
Сортировка

help replacing expresion in plpgsql

От
Juan Pablo L
Дата:
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:

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!!! 

Re: help replacing expresion in plpgsql

От
Albe Laurenz
Дата:
Juan Pablo L wrote:
> 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:
> 
> 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!!!

There are many ways.
Two I can think of right away:

newexpdate := CURRENT_TIMESTAMP + CAST(expdays || ' days' AS interval);

newexpdate := CURRENT_TIMESTAMP + expdays * INTERVAL '1 days';

Yours,
Laurenz Albe