oracle substr、instr以及case when 的连用截取字符串以及替换(repace)的使用

最近项目上使用到截取的字符串  后来发现经同事提醒 发现replace比较简单 则又换成了replace ,都给记录一下,以便帮助人;

如下,现需要将某个字段的-本部 给截取掉:

1. substr、case when、instr等函数 连用:

 substr(oc.fname_l2,0,case when instr(oc.fname_l2,'-本部')>0 then instr(oc.fname_l2,'-本部')-1 else length(oc.fname_l2)  end) as bankcompanyname



2.

replace这个函数,具体用法如下:

update 表1 t set t.列1=replace((select 列1from 表1 a where a.主键列=t.主键列) , '/' , '-' )  解决了我们问题。

replace 函数用法如下:

replace('将要更改的字符串','被替换掉的字符串','替换字符串')

例:select  replace ('111222333444','222','888') from dual;

输出为 '111888333444'





      







你可能感兴趣的:(oracle substr、instr以及case when 的连用截取字符串以及替换(repace)的使用)