> 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).
 >
 >
 > So I though, if I convert this to an integer, it should work:
 >
 > SELECT *
 > FROM some_table
 > WHERE array_length(regexp_matches(somecol, 'foobar'), 1) > 0
 >
 > but that still results in the same error.
 >
 > But array_length() clearly returns an integer, so why does it still throw 
this error?
 >
 >
 > I'm using 9.2.1
 >

Sounds to me like this:

http://joecelkothesqlapprentice.blogspot.nl/2007/12/using-where-clause-parameter.html


Thanks, but my question is not related to the underlying problem.

My question is: why I cannot use regexp_matches() in the WHERE clause, even 
when the result is clearly an integer value?

Regards
Thomas





--
Sent via pgsql-sql mailing list (pgsql-sql@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-sql

Reply via email to