Hallo,
kann man in regulären Ausdrücken die max Anzahl von aufeinanderfolgende Zeichen definieren, als Beispiel:
012345-1234567 dann würde man für den ersten Teil definieren 6*[0-5] und für den zweiten Teil 7*[1-7]
Danke und Gruß
Hallo,
kann man in regulären Ausdrücken die max Anzahl von aufeinanderfolgende Zeichen definieren, als Beispiel:
012345-1234567 dann würde man für den ersten Teil definieren 6*[0-5] und für den zweiten Teil 7*[1-7]
Danke und Gruß
test=*# select '012345-1234567' ~ '^[0-5]{6}-[1-7]{7}$';
?column?
----------
t
(1 Zeile)
PostgreSQL: Documentation: Manuals: PostgreSQL 8.3: Pattern Matching
Andreas
Neue Frage zu Regexp
Ist es möglich einen Spaltennamen in Regexp zu integrieren?
Beispielt
Select wert1, wert2 FROM tabelle1 WHERE wert1 ~ ‘[0-9]{lenght(wert2),}’
Das wird Du wohl als 2 Bedingungen schreiben müssen.
test=*# select * from regex;
wert1 | wert2
-------+-------
13 | 123
13 | 1234
13 | 12
123 | 123
1234 | 123
(5 rows)
test=*# select * from regex where wert1 ~ '^[0-9]*$' and length(wert1) = length(wert2)+1;
wert1 | wert2
-------+-------
1234 | 123
(1 row)
Oder als plpgsql-Funktion und dynamischem SQL und dann execute drauf.
Andreas