龙空技术网

超实用的Oracle字符串替换技巧

辞海拾文 276

前言:

现在朋友们对“oracle字符串替换指定字符”可能比较关心,同学们都需要了解一些“oracle字符串替换指定字符”的相关文章。那么小编也在网络上汇集了一些对于“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针对的是单个字符。

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

标签: #oracle字符串替换指定字符