Verwenden Sie für normale Nummern digit
Zeichenklasse als [[:digit:]]
oder kurz \d
:
SELECT regexp_replace('s4y8sds', $$\d+$$, '', 'g');
Ergebnis:
regexp_replace
----------------
sysds
(1 row)
Bei anderen Zahlen (zB ¼) ist das nicht so einfach, genauer gesagt als Dokumentation sagt, dass es ctype (locale) abhängig ist:
Sie könnten jedoch die interne prozedurale Sprache von PL/Perl verwenden und eine serverseitige Funktion mit den gewünschten Unicode-Zeichenklassen \p{}
schreiben :
CREATE OR REPLACE FUNCTION removeNumbersUnicode(text)
RETURNS text AS $$
$s = $_[0];
$s =~ s/\p{N}//g;
return $s;
$$ LANGUAGE plperl;
Lesen Sie Kapitel 41 von doc für weitere Informationen, wie man solche Funktionen schreibt.