Per i numeri ordinari usa digit
classe di caratteri come [[:digit:]]
o abbreviazione \d
:
SELECT regexp_replace('s4y8sds', $$\d+$$, '', 'g');
Risultato:
regexp_replace
----------------
sysds
(1 row)
Per altri numeri (ad esempio ¼) non è così semplice, più precisamente come documentazione dice che dipende da ctype (locale):
Tuttavia è possibile utilizzare il linguaggio procedurale PL/Perl interno e scrivere funzioni lato server con le classi di caratteri Unicode desiderate \p{}
:
CREATE OR REPLACE FUNCTION removeNumbersUnicode(text)
RETURNS text AS $$
$s = $_[0];
$s =~ s/\p{N}//g;
return $s;
$$ LANGUAGE plperl;
Consulta il Capitolo 41 da doc per maggiori informazioni su come scrivere tali funzioni.