当前位置: 代码迷 >> Java Web开发 >> ,oracle修改语句
  详细解决方案

,oracle修改语句

热度:6631   发布时间:2013-02-25 21:22:12.0
求助,oracle修改语句
HTML code
现有以下数据:名称(nam)    编码(cod)---------------------------公司总部             01 行政中心    0101  行政部    010101  法务部    010102  项目部    010103    人事部    010104   财务中心    0102  会计核算部    010201  财务管理部    010202  资金管理部    010203   如果要修改"财务中心"编码"0102"为"0103",而下级部门编码也相应批量修改为"010301","010302","010303",那么oracle修改语句该怎样写?update hrm_organ set cod='?????' where cod like '0102%';


------解决方案--------------------------------------------------------
把字符串拿来组装就行了:
Update hrm_organ 
Set cod='0103' + substr(cod, 5)
Where cod like '0102%';


substr( string, start_position, [ length ] )
——取子字符串,从start_position开始,取length个,length为可选,如果length为空则返回start_position后的所有字符。
——start_position为负数时,表示从字符串尾巴倒着数。
------解决方案--------------------------------------------------------
update hrm_organ set cod='0103'||substr(cod,5) where cod like '0102%';
------解决方案--------------------------------------------------------
have a try
SQL code
update hrm_organ    set cod='0103' | (case when length(cod) > 4 then substr(cod, 5) else '' end)  where cod like '0102%'
  相关解决方案