Vous pouvez utiliser le regexp_replace
fonction pour ne laisser que les chiffres et les lettres, comme ceci :
update mytable
set myfield = regexp_replace(myfield, '[^\w]+','');
Ce qui signifie que tout ce qui n'est pas un chiffre ou une lettre ou un soulignement sera remplacé par rien (cela inclut -, space, dot, comma
, etc.).
Si vous souhaitez également inclure le _
à remplacer (\w
le laissera) vous pouvez changer le regex en [^\w]+|_
.
Ou si vous voulez être strict avec les caractères qui doivent être supprimés, vous utilisez :[- ]+
dans ce cas ici un tiret et un espace.
Aussi comme suggéré par Luiz Signorelly vous pouvez utiliser pour remplacer toutes les occurrences :
update mytable
set myfield = regexp_replace(myfield, '[^\w]+','','g');