Gebruik voor gewone nummers digit
tekenklasse als [[:digit:]]
of steno \d
:
SELECT regexp_replace('s4y8sds', $$\d+$$, '', 'g');
Resultaat:
regexp_replace
----------------
sysds
(1 row)
Voor andere nummers (bijvoorbeeld ¼) is niet zo eenvoudig, meer bepaald als documentatie zegt dat het ctype (locale) afhankelijk is:
U kunt echter interne PL/Perl-proceduretaal gebruiken en een server-side-functie schrijven met de gewenste Unicode-tekenklassen \p{}
:
CREATE OR REPLACE FUNCTION removeNumbersUnicode(text)
RETURNS text AS $$
$s = $_[0];
$s =~ s/\p{N}//g;
return $s;
$$ LANGUAGE plperl;
Controleer Hoofdstuk 41 uit doc voor meer informatie over het schrijven van dergelijke functies.