Re: string = any()

Поиск
Список
Период
Сортировка
От David Johnston
Тема Re: string = any()
Дата
Msg-id 016701cccfb4$e9d253c0$bd76fb40$@yahoo.com
обсуждение исходный текст
Ответ на Re: string = any()  (Andy Colson <andy@squeakycode.net>)
Ответы Re: string = any()  (Andy Colson <andy@squeakycode.net>)
Список pgsql-general
-----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[] );

I didn't enable logging so I don't know exactly what the engine is seeing
but using PostgreSQL Maestro that is what I am getting; and from the
documentation it seems correct...

I am using the "string_to_array()" function call where I do this kind of
thing because I probably encountered the same Java API issue that you are
with PHP; but since passing in the delimited string and splitting it isn't
that difficult I am not all that concerned.  You need to embed the
"string_to_array" inside the prepared statement and pass only scalars via
the API.

So:

prepare x as select 'bob' = any(string_to_array($1, ',')::varchar[]);
execute x ('joe,bob,billy');

David J.



В списке pgsql-general по дате отправления:

Предыдущее
От: Andy Colson
Дата:
Сообщение: Re: string = any()
Следующее
От: Ernesto Quiñones
Дата:
Сообщение: Re: Two indexes on same column