Re: Help with quotes in plpgsql

From: Richard Ray <rray(at)mstc(dot)state(dot)ms(dot)us>
To: pgsql-sql(at)postgresql(dot)org
Subject: Re: Help with quotes in plpgsql
Date: 2006-12-20 14:10:53
Message-ID: Pine.LNX.4.64.0612200800160.24340@rray.drdc.mstc.ms.gov
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

It makes sense when ya'll explain it
It never sounds that good when I'm talkin to myself
That solves my problem but not my ignorance
I'm still curious about how would I properly quote

create or replace function test(integer) returns setof text as $$
declare
a record;
begin
select into a now() - interval '$1 day';
return next a;
return;
end
$$ language 'plpgsql';

I got the usage example for interval from
http://www.postgresql.org/docs/8.1/interactive/functions-datetime.html

Thanks
Richard

On Tue, 19 Dec 2006, Tom Lane wrote:

> "Hector Villarreal" <HVillarreal(at)mynewplace(dot)com> writes:
>> select into a now() - ($1::text||'days')::interval;
>
> People keep suggesting variants of that as ways to convert numeric
> values to intervals, but it's really extremely bad practice. Much
> better is to use number-times-interval multiplication:
>
> select into a now() - $1 * '1 day'::interval;
>
> This is less typing, at least as easy to understand, more flexible
> (you can use any scale factor you want), and considerably more
> efficient. The first way involves coercing the integer to text,
> then text-concatenating that with a constant, then applying
> interval_in which does a fairly nontrivial parsing process.
> The second way is basically just a multiplication, because
> '1 day'::interval is already a constant value of type interval.
>
> regards, tom lane
>
> ---------------------------(end of broadcast)---------------------------
> TIP 7: You can help support the PostgreSQL project by donating at
>
> http://www.postgresql.org/about/donate
>

In response to

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Richard Huxton 2006-12-20 14:26:42 Re: Help with quotes in plpgsql
Previous Message Ragnar 2006-12-20 11:09:56 Re: join/group/count query.