On Wed, Dec 19, 2018 at 6:45 PM Vladimir Ryabtsev <greatvo...@gmail.com> wrote:
> > The fundamental issue is that "ANY" has two meanings in PG, one of them > following the SQL standard and one not: > > Oh yes, I was aware about two forms but it did not come into my mind, I > was thinking I use the same form in both cases since my query returns only > one row and column. > Thanks for pointing me into that. > > -- > Vlad > For what it is worth, I have found that if I am checking for the presence of an object in an array, while this syntax is easy to understand and more intuitive to craft: select * from mytable where ' test' = ANY (my_varchar_array_column) ; This syntax is almost always much faster: select * from mytable where ARRAY['test'::varchar] <@ my_varchar_array_column ; (Since this is a performance list after all.)