> 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