Para números ordinarios use digit
clase de carácter como [[:digit:]]
o abreviado \d
:
SELECT regexp_replace('s4y8sds', $$\d+$$, '', 'g');
Resultado:
regexp_replace
----------------
sysds
(1 row)
Para otros números (por ejemplo ¼) no es tan simple, más precisamente como documentación dice que depende de ctype (locale):
Sin embargo, podría usar el lenguaje de procedimiento PL/Perl interno y escribir la función del lado del servidor con las clases de caracteres Unicode deseadas \p{}
:
CREATE OR REPLACE FUNCTION removeNumbersUnicode(text)
RETURNS text AS $$
$s = $_[0];
$s =~ s/\p{N}//g;
return $s;
$$ LANGUAGE plperl;
Consulte Capítulo 41 de doc para obtener más información sobre cómo escribir tales funciones.