Thanks for the explanation. I think I at least understand what it's doing now. I'm either surprised or confused though, as I was under the impression that you could substitute a subquery for a value pretty much anywhere, but I guess that's not the case?
Cheers, Ken On Mon, Sep 16, 2013 at 6:16 PM, David Johnston <pol...@yahoo.com> wrote: > Ken Tanzer wrote > > ets_reach=> SELECT 'found' WHERE 'test' = ANY( (SELECT > > ARRAY['test','pass','fail']) ); > > > > ERROR: array value must start with "{" or dimension information > > LINE 1: SELECT 'found' WHERE 'test' = ANY( (SELECT ARRAY['test','pas... > > ^ > > Per documentation of "ANY" it accepts either an array or a subquery. This > is the subquery form. PostgreSQL is trying to convert 'test' into an array > in order to match the array column returned by the subquery. > > Remove the "SELECT" to make it work the way you expect - i.e., the > ANY(array) form of the expression. > > David J. > > > > > > -- > View this message in context: > http://postgresql.1045698.n5.nabble.com/Why-does-this-array-query-fail-tp5771165p5771170.html > Sent from the PostgreSQL - general mailing list archive at Nabble.com. > > > -- > Sent via pgsql-general mailing list (pgsql-general@postgresql.org) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgsql-general > -- AGENCY Software A data system that puts you in control 100% Free Software *http://agency-software.org/* ken.tan...@agency-software.org (253) 245-3801 Subscribe to the mailing list<agency-general-requ...@lists.sourceforge.net?body=subscribe> to learn more about AGENCY or follow the discussion.