From: | "Pavel Stehule" <pavel(dot)stehule(at)gmail(dot)com> |
---|---|
To: | "Yi Zhao" <yi(dot)zhao(at)alibaba-inc(dot)com> |
Cc: | pgsql-general <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: how to found a variable is in a aggregation or not? |
Date: | 2008-07-15 11:30:56 |
Message-ID: | 162867790807150430s3bce8d0aw24e3ce8bc6aea3ec@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Hello
in this case you must not use quoting
postgres=# create or replace function anytest(val text) returns boolean as $$
begin
perform 1 where val in ('hello', 'world', 'test');
if not found then
return false;
else
return true;
end if;
end;
$$ language plpgsql;
CREATE FUNCTION
Time: 3,342 ms
postgres=# select anytest('hello');
anytest
---------
t
(1 row)
Time: 42,034 ms
postgres=# select anytest('helloa');
anytest
---------
f
(1 row)
Time: 0,468 ms
postgres=#
you have to use quoting only together dynamic sql, etc EXECUTE statement
regards
Pavel Stehule
2008/7/15 Yi Zhao <yi(dot)zhao(at)alibaba-inc(dot)com>:
> I want to check a variable is in a aggregattion or not, so I create a
> function as below:
>
> create or replace function anytest(val text) returns boolean as $$
> begin
> perform 1 where quote_literal(val) in ('hello', 'world', 'test');
> if not found then
> return false;
> else
> return true;
> end if;
> end;
> $$ language plpgsql;
>
> but when I used, I got the result below, why?
>
> test=# select anytest('world111');
> anytest
> ---------
> f
> (1 row)
>
> test=# select anytest('world');
> anytest
> ---------
> f
> (1 row)
>
>
> any help is appreciated.
>
> regards,
> Zy
>
>
> --
> Sent via pgsql-general mailing list (pgsql-general(at)postgresql(dot)org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-general
>
From | Date | Subject | |
---|---|---|---|
Next Message | Sergey Konoplev | 2008-07-15 11:42:17 | Referential integrity vulnerability in 8.3.3 |
Previous Message | Yi Zhao | 2008-07-15 11:11:29 | how to found a variable is in a aggregation or not? |