Oracle,regexp_replace函数,replace函数

replace函数(不知支持正则表达式)语法:

replace(原字段,“原字段旧内容“,“原字段新内容“,)  

select replace(原字段,'原字段旧内容','原字段新内容') from Table

regexp_replace函数(是replace函数的扩展函数,用于通过正则表达式来进行匹配替换)例如:

--http://egpweb.ybsggzyjyxxw.com/news/247/46091  替换为 http://csggzy.yibin.gov.cn:8010/Egpdzjj/news/d/Index.aspx?tid=247&pid=21767格式

  
  --查询
   select regexp_replace(nr,
                       'http://egpweb.ybsggzyjyxxw.com/news/(\d+)/(\d+)',
                       'http://csggzy.yibin.gov.cn:8010/Egpdzjj/news/d/Index.aspx?tid=\1&&pid=\2')
   from nrglb
   --修改
update nrglb
   set nr = regexp_replace(nr,
                           'http://egpweb.ybsggzyjyxxw.com/news/(\d+)/(\d+)',
                           'http://csggzy.yibin.gov.cn:8010/Egpdzjj/news/d/Index.aspx?tid=\1&&pid=\2')

猜你喜欢

转载自www.cnblogs.com/-hao/p/11332202.html