Mieux vaut utiliser replace() pour cela :
UPDATE tbl SET col = replace(col, '''', '');
Beaucoup plus rapide que regexp_replace()
et il remplace "globalement" - toutes les occurrences de la chaîne de recherche. La réponse précédemment acceptée de @beny23
avait tort à cet égard. Il a remplacé les premières occurrences uniquement, devrait être :
UPDATE tbl SET col = regexp_replace(col, '''', '', 'g');
Notez le paramètre supplémentaire 'g'
pour "à l'échelle mondiale". Lisez à propos des fonctions de chaîne dans le manuel
.
À part :la méthode canonique (et standard SQL) pour échapper aux guillemets simples ('
) dans les littéraux de chaîne consiste à les doubler (''
). L'utilisation de séquences d'échappement de style Posix fonctionne aussi, bien sûr. Détails :