Re: [SQL] How to search for a part of a number

2010-10-25 Thread Harald Fuchs
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

[SQL] Using PL/pgSQL text argument in 'IN (INT,INT,...)' clause [re-post]

2010-10-25 Thread Axel Rau
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

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

2010-10-25 Thread Richard Broersma
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

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

2010-10-25 Thread Sergey Konoplev
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

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

2010-10-25 Thread Axel Rau
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