Re: Problems with using function input paramaters

From: stan <stanb(at)panix(dot)com>
To: pgsql-general(at)lists(dot)postgresql(dot)org
Subject: Re: Problems with using function input paramaters
Date: 2019-08-31 14:24:56
Message-ID: 20190831142456.GA6061@panix.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Sat, Aug 31, 2019 at 10:05:10AM -0400, stan wrote:
> I have been chasing a bug for a bit now. I even wound up completely rewriting the
> function, which in the end turns out to be a good thing, as it is much cleaner and
> easy to read.
>
> I now believe that the bug is in how I am using an input parameter to the
> function. Here is the function deceleration:
>
> CREATE FUNCTION
> return_previous_month_start_and_end(
> integer)
> RETURNS interval_dates AS $$
>
> Here is one of the places I am using it:
>
>
> my_year := ( select
> cast(extract(year from
> cast(date_trunc('month',
> CURRENT_DATE) - interval ' $1
> month - 1 ' day as date)
> ) as integer)
> ) ;
> This prints the correct value BTW:
>
> RAISE notice 'Called with %', $1 ;
>
> Nay thoughts as to what I am doing wrong?
>
BTW, this article
https://dba.stackexchange.com/questions/159424/how-to-use-function-parameters-in-dynamic-sql-with-execute
seems to imply that I can use the $1 syntax in a string, but others refer to using
the COALESCE functionality, but I am uncertain exactly how to use this here.

--
"They that would give up essential liberty for temporary safety deserve
neither liberty nor safety."
-- Benjamin Franklin

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Rich Shepard 2019-08-31 14:29:39 Re: Aggregate functions on groups
Previous Message stan 2019-08-31 14:05:10 Problems with using function input paramaters