用 Oracle 替换多个字符

Replacing multiple characters with Oracle

我需要从我的数据库中替换文本字符串中的几个字符。我有一个包含人名的数据库,但由于我来自使用 "illegal" 个字符(例如“Æ”、“Ø”和“Å”)的国家/地区,因此我必须将这些字符过滤掉并替换为其他字符字符 – 每个 "illegal characters" 都有自己的 "legal character" 他们将被切换到。例如“å”会变成"a",“æ”会变成"e"等等。

我试过这样做:

select TRANSLATE(FIRSTNAME || '.' || LASTNAME, 'å', 'a')
from mytable

当一个人的名字包含“å”时,这可以解决问题,但我如何同时对多个字符执行此操作?

您只需列出翻译字符串中的字符:

select TRANSLATE(FIRSTNAME || '.' || LASTNAME, 'åaeiou', 'a12345')
from mytable