【问题标题】:Replacing multiple characters with Oracle用 Oracle 替换多个字符
【发布时间】:2020-07-06 01:52:47
【问题描述】:

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

我试过这样做:

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

当一个人的名字包含“å”时,这会起作用,但我怎样才能同时为多个字符执行此操作?

【问题讨论】:

    标签: sql oracle replace translate


    【解决方案1】:

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

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

    【讨论】:

    • 这很有魅力,谢谢!我以为我必须分几轮翻译,但这超级简单:)
    • @Kremklatt 。 . .您必须在多轮中使用REPLACE()TRANSLATE() 更简单。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-23
    • 2020-11-27
    • 2021-06-08
    • 2020-07-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多