sergey-1987@yandex.ru writes:
> As I see in documentation,
> http://www.postgresql.org/docs/current/static/functions-aggregate.html there
> is an ambiguity with bool_or aggregate and ANY array operator, so bool_or
> cannot has standard name ANY. So ANY should always mean array operator. But
> such query produces syntax error:
> select 1 = ANY((select ARRAY[1, 2]::integer[]))
Yes. Do it like this instead:
select 1 = ANY(ARRAY[1, 2]::integer[]);
If the argument of ANY is a sub-select, the interpretation is to compare
the left-hand value to each row of the sub-select's output. This isn't
terribly consistent perhaps, but it's what's required by the SQL
standard.
regards, tom lane