Re: Using regexp_matches in the WHERE clause
От | Thomas Kellerer |
---|---|
Тема | Re: Using regexp_matches in the WHERE clause |
Дата | |
Msg-id | k92ae9$di0$1@ger.gmane.org обсуждение исходный текст |
Ответ на | Re: Using regexp_matches in the WHERE clause (Willem Leenen <willem_leenen@hotmail.com>) |
Ответы |
Re: Using regexp_matches in the WHERE clause
|
Список | pgsql-sql |
> > 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
В списке pgsql-sql по дате отправления: