您的位置:首页 > 数据库 > Oracle

oracle replace函数

2014-12-23 00:12 225 查看
SELECT REGEXP_REPLACE('0001aaa00002', '0001|0002', '----') from
dual

这样,运行结果就为:----aaa0----

其中,0001|0002代表的是正则表达式。

上面的语句对应为:REGEXP_REPLACE(treeid,'0001|0002','----')

如果不是10g以上的话,则只能:repalce(replace(treeid,'0001','----'),'0002','----')

 

 

 

比如:

 

我想实现一个操作,比如tb1表中有个字段step
,里面有会出现一个或者多个用逗号分隔的字符串,比如:300,600;400,500;200;等等,没有规律性。我现在想把出现的数字用replace替换掉。比如300代表总部,400代表省,500代表地市。

当step字段的值是 300,500就替换成“省,市”。

请问如何写这个replace语句?

 

 

[TEST1@kokooa]>select * from t1;

NAME

--------------------

300,500

[TEST1@kokooa]>select replace(name,'300','总部') from
t1;

REPLACE(NAME,'300','总部')

--------------------------------------------------------------------------------

总部,500

[TEST1@kokooa]>select
replace(replace(name,'300','总部'),'500','市') from t1;

REPLACE(REPLACE(NAME,'300','总部'),'500','市')

--------------------------------------------------------------------------------

总部,市

如果还有其它的数字,依此类推
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: