On Nov 26, 2012, at 7:13, Thomas Kellerer <spam_eater@gmx.net> wrote:
>
> So I tried:
>
> SELECT *
> FROM some_table
> WHERE regexp_matches(somecol, 'foobar') is not null;
>
> However that resulted in: ERROR: argument of WHERE must not return a set
>
> Hmm, even though an array is not a set I can partly see what the problem is
> (although given the really cool array implementation in PostgreSQL I was a bit surprised).
>
regex_matches returns a set because you can supply the "g" option to capture all matches and each separate match
returnsits own record. Even though only one record is ever returned without the "g" option the function itself is the
sameand still is defined to return a set.
David J.