From: | Willem Leenen <willem_leenen(at)hotmail(dot)com> |
---|---|
To: | <spam_eater(at)gmx(dot)net>, <pgsql-sql(at)postgresql(dot)org> |
Subject: | Re: Using regexp_matches in the WHERE clause |
Date: | 2012-11-27 11:44:24 |
Message-ID: | DUB104-W30ACC9F07483AD6B500D698F5E0@phx.gbl |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
Sounds to me like this:
http://joecelkothesqlapprentice.blogspot.nl/2007/12/using-where-clause-parameter.html
> To: pgsql-sql(at)postgresql(dot)org
> From: spam_eater(at)gmx(dot)net
> Subject: [SQL] Using regexp_matches in the WHERE clause
> Date: Mon, 26 Nov 2012 13:13:06 +0100
>
> Hi,
>
> I stumbled over this question on Stackoverflow
>
> http://stackoverflow.com/questions/13564369/postgresql-using-column-data-as-pattern-for-regexp-match
>
> And my initial reaction was, that this should be possible using regexp_matches.
>
> 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
>
> Regards
> Thomas
>
>
>
>
> --
> Sent via pgsql-sql mailing list (pgsql-sql(at)postgresql(dot)org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-sql
From | Date | Subject | |
---|---|---|---|
Next Message | Thomas Kellerer | 2012-11-27 12:08:05 | Re: Using regexp_matches in the WHERE clause |
Previous Message | ssylla | 2012-11-27 10:13:51 | select on many-to-many relationship |