Nawet jeśli ten wątek jest stary, jest pierwszym w Google, więc opublikuję odpowiednik Oracle zaimplementowanej tutaj funkcji, używając wyrażeń regularnych.
Jest dość szybszy niż zagnieżdżony replace() i znacznie czystszy.
Aby zamienić ciągi „a”, „b”, „c” na „d” w kolumnie ciągów z podanej tabeli
select regexp_replace(string_col,'a|b|c','d') from given_table
To nic innego jak wyrażenie regularne dla kilku statycznych wzorców z operatorem 'lub'.
Uważaj na znaki specjalne regexp!