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  (Pavel Stehule <pavel.stehule@gmail.com>)
Список 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 по дате отправления:

Предыдущее
От: Willem Leenen
Дата:
Сообщение: Re: Using regexp_matches in the WHERE clause
Следующее
От: Pavel Stehule
Дата:
Сообщение: Re: Using regexp_matches in the WHERE clause