Para números comuns, use
digit
classe de caracteres como [[:digit:]]
ou abreviação \d
:SELECT regexp_replace('s4y8sds', $$\d+$$, '', 'g');
Resultado:
regexp_replace
----------------
sysds
(1 row)
Para outros números (por exemplo ¼) não é tão simples, mais precisamente como documentação diz que é dependente de ctype (locale):
No entanto, você pode usar a linguagem procedural PL/Perl interna e escrever a função do lado do servidor com as classes de caracteres Unicode desejadas
\p{}
:CREATE OR REPLACE FUNCTION removeNumbersUnicode(text)
RETURNS text AS $$
$s = $_[0];
$s =~ s/\p{N}//g;
return $s;
$$ LANGUAGE plperl;
Verifique o Capítulo 41 do doc para obter mais informações sobre como escrever essas funções.