Puede usar regexp_replace
función para dejar solo los dígitos y las letras, así:
update mytable
set myfield = regexp_replace(myfield, '[^\w]+','');
Lo que significa que todo lo que no sea un dígito, una letra o un subrayado será reemplazado por nada (eso incluye -, space, dot, comma
, etc.).
Si desea incluir también el _
para ser reemplazado (\w
lo dejará) puede cambiar la expresión regular a [^\w]+|_
.
O si quieres ser estricto con los caracteres que se deben quitar usa:[- ]+
en este caso aquí un guión y un espacio.
También como lo sugiere Luiz Signorelly puede usar para reemplazar todas las apariciones:
update mytable
set myfield = regexp_replace(myfield, '[^\w]+','','g');