首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

批量提取更新别号

2013-04-22 
批量提取更新别名各位大侠:小弟现遇到一问题,请帮助解决。有一个表大概有50000条数据:表一:namenameID中国

批量提取更新别名
各位大侠:
   小弟现遇到一问题,请帮助解决。
有一个表大概有50000条数据:
表一:name                                 nameID  
      中国人(4444444)
      传感器(广州)有限公司(4487778)       

我想把后一个()里的数字取出来,然后批量更新到nameID中,请问如果实现? sql 行业数据
[解决办法]

if object_id('[TB]') is not null drop table [TB]
go
create table [TB] (name nvarchar(40))
insert into [TB]
select '中国人(4444444)' union all
select '传感器(广州)有限公司(4487778)'

select * from [TB]


SELECT name,REVERSE(SUBSTRING(REVERSE(name),2,PATINDEX('%(%',REVERSE(NAME))-2)) AS nameID  
FROM dbo.TB

/*
namenameID
中国人(4444444)4444444
传感器(广州)有限公司(4487778)4487778*/

--更新
--UPDATE dbo.TB
--SET nameid = REVERSE(SUBSTRING(REVERSE(name),2,PATINDEX('%(%',REVERSE(NAME))-2))

[解决办法]
SUBSTRING(name,PATINDEX('%[0-9]%',name),7)

热点排行