From: | Tim Landscheidt <tim(at)tim-landscheidt(dot)de> |
---|---|
To: | pgsql-de-allgemein(at)postgresql(dot)org |
Subject: | regexp_matches () in WHERE-Bedingung verwenden |
Date: | 2010-11-09 16:01:24 |
Message-ID: | m3k4kmlc4r.fsf@passepartout.tim-landscheidt.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-de-allgemein |
Hallo,
wie kann ich regexp_matches () in einer WHERE-Bedingung ver-
wenden? Die "Alternative" mit regexp_replace funktioniert:
| tim=# SELECT s FROM (VALUES ('a1'), ('c2d'), ('3f')) AS S (s) WHERE regexp_replace(s, '^.*?([0-9]+).*?$', E'\\1') <> '3';
| s
| -----
| a1
| c2d
| (2 Zeilen)
| tim=#
die "saubere" Variante nicht:
| tim=# SELECT s FROM (VALUES ('a1'), ('c2d'), ('3f')) AS S (s) WHERE (regexp_matches(s, '^.*?([0-9]+).*?$')) [1] <> '3';
| FEHLER: Argument von WHERE darf keine Ergebnismenge zurückgeben
| ZEILE 1: ... (VALUES ('a1'), ('c2d'), ('3f')) AS S (s) WHERE (regexp_mat...
| ^
| tim=#
TIA,
Tim
From | Date | Subject | |
---|---|---|---|
Next Message | Hubert Hupe | 2010-11-10 12:13:53 | pg_ctl |
Previous Message | Andreas 'ads' Scherbaum | 2010-11-02 11:59:57 | == Wöchentlicher PostgreSQL Newsletter - 31. Oktober 2010 == |