regexp_matches () in WHERE-Bedingung verwenden
am 09.11.2010 17:01:24 von Tim LandscheidtHallo,
wie kann ich regexp_matches () in einer WHERE-Bedingung ver-
wenden? Die "Alternative" mit regexp_replace funktioniert:
| tim=3D# SELECT s FROM (VALUES ('a1'), ('c2d'), ('3f')) AS S (s) WHERE r=
egexp_replace(s, '^.*?([0-9]+).*?$', E'\\1') <> '3';
| s
| -----
| a1
| c2d
| (2 Zeilen)
| tim=3D#
die "saubere" Variante nicht:
| tim=3D# 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_ma=
t...
| ^
| tim=3D#
TIA,
Tim
--=20
Sent via pgsql-de-allgemein mailing list (pgsql-de-allgemein@postgresql.o=
rg)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-de-allgemein