Możesz użyć regexp_replace
funkcja pozostawienia tylko cyfr i liter, tak:
update mytable
set myfield = regexp_replace(myfield, '[^\w]+','');
Co oznacza, że wszystko, co nie jest cyfrą, literą lub podkreśleniem, zostanie zastąpione przez nic (w tym -, space, dot, comma
itp.).
Jeśli chcesz również uwzględnić _
do wymiany (\w
opuści to) możesz zmienić wyrażenie regularne na [^\w]+|_
.
Lub jeśli chcesz ściśle określić znaki, które należy usunąć, użyj:[- ]+
w tym przypadku myślnik i spacja.
Również zgodnie z sugestią Luiz Signorelly możesz użyć do zastąpienia wszystkich wystąpień:
update mytable
set myfield = regexp_replace(myfield, '[^\w]+','','g');