Lepiej używaj replace() w tym celu:
UPDATE tbl SET col = replace(col, '''', '');
Dużo szybciej niż regexp_replace()
i zastępuje "globalnie" - wszystkie wystąpienia szukanego ciągu. Wcześniej zaakceptowana odpowiedź @beny23
mylił się pod tym względem. Zastąpił tylko pierwsze wystąpienia, musiałby być:
UPDATE tbl SET col = regexp_replace(col, '''', '', 'g');
Zwróć uwagę na dodatkowy parametr 'g'
dla „globalnie”. Przeczytaj o funkcjach łańcuchowych
.
Na bok:kanoniczny (i standard SQL) sposób unikania pojedynczych cudzysłowów ('
) w literałach ciągów znaków to ich podwojenie (''
). Oczywiście użycie sekwencji ucieczki w stylu Posix również działa. Szczegóły: