Re: Using PL/pgSQL text argument in 'IN (INT,INT,...)' clause [re-post] - Mailing list pgsql-sql

From Sergey Konoplev
Subject Re: Using PL/pgSQL text argument in 'IN (INT,INT,...)' clause [re-post]
Date
Msg-id AANLkTi=P6n6msmU0dLEKD+G9YtWTDW_w_YGmNKRA0qEO@mail.gmail.com
Whole thread Raw
In response to Using PL/pgSQL text argument in 'IN (INT,INT,...)' clause [re-post]  (Axel Rau <Axel.Rau@Chaos1.DE>)
List pgsql-sql
Hi,

You can do this:

UPDATE foo SET x = y WHERE id = ANY(string_to_array(blah, ',')::integer[]);

Note that you need to cast string_to_array(...) to array type of your id type.

On 25 October 2010 20:07, Axel Rau <Axel.Rau@chaos1.de> wrote:
> Good morning,
>
> I have a function argument blah of type text containing something like
>   33,44,55,66
> . Can I cast it in some way to use it in an IN clause as integers like
>   UPDATE foo SET x = y WHERE id IN ( blah );
> or need I revert to dynamic SQL (EXECUTE...) ?
>
> Thanks, Axel
> ---
> axel.rau@chaos1.de  PGP-Key:29E99DD6  +49 151 2300 9283  computing @ chaos
> claudius
>
>
> --
> Sent via pgsql-sql mailing list (pgsql-sql@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-sql
>



--
Sergey Konoplev

Blog: http://gray-hemp.blogspot.com /
Linkedin: http://ru.linkedin.com/in/grayhemp /
JID/GTalk: gray.ru@gmail.com / Skype: gray-hemp / ICQ: 29353802


pgsql-sql by date:

Previous
From: Richard Broersma
Date:
Subject: Re: Using PL/pgSQL text argument in 'IN (INT,INT,...)' clause [re-post]
Next
From: Axel Rau
Date:
Subject: Re: Using PL/pgSQL text argument in 'IN (INT,INT,...)' clause [re-post]