替换Oracle中字符串中特定位置的字符

时间:2013-05-17 10:11:45

标签: string oracle plsql replace substring

我正在尝试编写一个可以通过切换字符对来解码消息的函数。

说我有message hello!,当编码时,变成ehll!oOracle中是否有现有功能允许我replace characters在指定位置使用我选择的其他字符?

3 个答案:

答案 0 :(得分:6)

你应该使用看起来像山雀的正则表达式:

regexp_replace(string, '(.)(.)', '\2\1')

fiddle

答案 1 :(得分:1)

我相信你会寻找SubStr()。可能是翻译()或替换()。

答案 2 :(得分:0)

如果您只想屏蔽特定位置的几个字符,可以在下面

SUBSTR(field_name,1,4) || 'XXXX' || SUBSTR(field_name,LENGTH(field_name)-4,LENGTH(field_name))
as field_name

如果字段值为 0007125009300 输出将为 0007XXXX09300