In article <4cc4d3e2.7090...@gmx.net>,
Andreas writes:
> Hi,
> I'm wondering if there was a clever way to find parts of a numeric
> string in another table.
> There is a table that holds city-codes and city-names. City-code would
> be the part of a phone number that identifies the city.
> Over he
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@chaos1
On Mon, Oct 25, 2010 at 9:07 AM, Axel Rau wrote:
> 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 );
Here is what I think should work:
UPD
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 wrote:
> Good morning,
>
> I have a function argument blah of type text containing
Thanks Richard and Sergey,
your solution works perfect, even if blah contains only one member.
Am 25.10.2010 um 18:17 schrieb Richard Broersma:
Here is what I think should work:
UPDATE foo
Set x = y
WHERE id = ANY( CAST( string_to_array( '1,2,3,4', ',' ) AS
INTEGER[] ));
Axel
---
axel