udtelco@gmail.com writes:
> select ('2' != any('{2,3}')) , ('2' = any('{2,3}'))
> When != (or <>) operator is applied to any() , results are wrong. Thereby,
> you have a situation where x = y AND x != y both evaluating as true.
Looks fine to me. '2' is equal to at least one of the array elements
(namely '2'), and it's also not equal to at least one of the array
elements (namely '3').
regards, tom lane