欢迎各位兄弟 发布技术文章
这里的技术是共享的
数据库中字符串的替换是比较常用的操作,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