Brug digit
til almindelige numre tegnklasse som [[:digit:]]
eller stenografi \d
:
SELECT regexp_replace('s4y8sds', $$\d+$$, '', 'g');
Resultat:
regexp_replace
----------------
sysds
(1 row)
For andre tal (for eksempel ¼) er ikke så enkelt, mere præcist som dokumentation siger, at det er ctype (locale) afhængigt:
Du kan dog bruge internt PL/Perl proceduresprog og skrive serversidefunktion med ønskede Unicode-tegnklasser \p{}
:
CREATE OR REPLACE FUNCTION removeNumbersUnicode(text)
RETURNS text AS $$
$s = $_[0];
$s =~ s/\p{N}//g;
return $s;
$$ LANGUAGE plperl;
Tjek kapitel 41 fra doc for mere info, hvordan man skriver sådanne funktioner.