欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

Oracle字符串替换小技巧,超实用 有大用 有大大用

数据库中字符串的替换是比较常用的操作,Oracle已经为我们提供了几个实用的函数来处理字符串的替换操作,常用的主要有replace、regexp_replace 和 translate三个函数,接下来我们来逐个看下。

一、replce方法

用法1:REPLACE(sourceStr, searchStr, replacedStr)

sourceStr标识要被替换的字段名或字符串,searchStr表示要被替换掉的字符串,replacedStr表示要替换成的字符串。

用法2:REPLACE(sourceStr, searchStr)

sourceStr标识要被替换的字段名或字符串,searchStr表示要被剔除掉的字符串。

二、regexp_replace

用法1:regexp_replace(sourceStr, patternStr, replacedStr)

sourceStr标识要被替换的字段名或字符串,patternStr表示要被替换掉的正则表达式匹配的字符串,replacedStr表示要替换成的字符串。

用法2:regexp_replace(sourceStr, patternStr)

sourceStr标识要被替换的字段名或字符串,patternStr表示要被剔除掉的正则表达式匹配的字符串。

三、translate

用法:TRANSLATE('sourceStr', 'fromStr', 'toStr')

以字符为单位,把 sourceStr 中的 fromStr 字符对应替换为 toStr。若 fromStr 比 toStr 长,那么在 fromStr 中而不在 toStr 中的字符将被剔除,因为没有对应的替换字符。若三个参数中有一个是空,返回值也将是空值。

我们来总结下,regexp_replace和replace的功能十分相似,但是regexp_replace功能更强大,加入了正则匹配,使用更加灵活,适合于更复杂的字符串替换的情况。一般情况下,replace函数已经能够满足大部分的字符串替换需求了。而replace和translate的区别是,replace针对的是字符串,translate针对的是单个字符。

综上,替换字符串的三个函数,五种用法,你都了解了吗?


来自 https://baijiahao.baidu.com/s?id=1632772479127837460&wfr=spider&for=pc


普通分类: