当前位置: 代码迷 >> Sql Server >> SQL剔除字符串内括号中的数字
  详细解决方案

SQL剔除字符串内括号中的数字

热度:10   发布时间:2016-04-24 09:38:25.0
SQL删除字符串内括号中的数字!
如题,有类似的下表:
cn
天津市分公司(三项农综险)
上海市分公司
北京市河西区公司
河北区县(分公司)
.....................


如何将上述cn项中字符串后面的括号内的文字(包括括号)都删除掉。

------解决思路----------------------
--test
select stuff('天津市分公司(三项农综险)',charindex('(','天津市分公司(三项农综险)'),charindex(')','天津市分公司(三项农综险)'),'')

update Tb 
set cn=stuff(cn,charindex('(',cn),charindex(')',cn),'')
--or
with cte as(
select * from Tb 
where charindex('(',cn)<>0 and charindex(')',cn)<>0
) update cte set cn=stuff(cn,charindex('(',cn),charindex(')',cn),'')

------解决思路----------------------
create table #tm (cn varchar(50))
insert into #tm (cn) values('天津市分公司(三项农综险)')
insert into #tm (cn) values('河北区县(分公司)')

update #tm set  cn=substring(cn,1,charindex('(', cn)-1)
where cn like '%[((]%[))]%'

select * from #tm  
  相关解决方案