On 1/10/2012 10:28 AM, David Johnston wrote:
> -----Original Message-----
> From: pgsql-general-owner@postgresql.org
> [mailto:pgsql-general-owner@postgresql.org] On Behalf Of Andy Colson
> Sent: Tuesday, January 10, 2012 11:20 AM
> To: David Johnston
> Cc: 'PostgreSQL'
> Subject: Re: [GENERAL] string = any()
>
>> This still does not work, even in psql:
>> select 'bob' = any( '{''joe'', ''bob'' }'::varchar[] )
>>
>> $$ ^ This works for me just fine....though I am not using psql; are
>> you having quoting issues? What error do you get?
>>
>
> It runs, but it returns false. I get false at least. I'm assuming you do
> to, otherwise something weird is going on.
>
> -----------------------------------------
>
> I execute the following:
>
> SELECT 'bob' = ANY( '{ "joe", "bob" }'::varchar[] );
>
> And it returns TRUE...
>
> This returns FALSE:
>
> SELECT 'bob' = ANY( '{ "joe", "dave" }'::varchar[] );
Yeah, that uses the correct double quotes... which I was not using.
>
> So:
>
> prepare x as select 'bob' = any(string_to_array($1, ',')::varchar[]);
> execute x ('joe,bob,billy');
>
> David J.
>
Ah, that's a good idea, I hadn't thought of that. Always another way to
skin a cat.
Thanks again,
-Andy