日期:2014-05-18  浏览次数:20544 次

问个简单SQL语句,SQL server 2000中如何去除表记录中多余字符?
问个简单SQL语句,SQL server 2000中如何去除表记录中多余字符?

例如数据库表中记录:
ID 编号 名称 描述
1 11-12345 aaaa x
2 11-133 bbbb x
3 11-1211 cccc x

现在想要将编号中的值只保留11;'-'后面的值都不要了。-后面的值是以前记录随机生成,长度不固定,现在要将'-'之后的值都去掉。 

要求处理后结果:
ID 编号 名称 描述
1 11 aaaa x
2 11 bbbb x
3 11 cccc x

请问各位SQL咋写? 多谢? 


------解决方案--------------------
SQL code
update 表
SET 编号 =  substring(编号, 1, charindex('-', 编号)-1)

------解决方案--------------------
SQL code

SELECT STUFF(编号,CHARINDEX('-',编号),LEN(编号),'') FROM tb

------解决方案--------------------
SQL code


--1
update 表
SET 编号 =  substring(编号, 1, charindex('-', 编号)-1)

--2
update 表
SET 编号 =  left(编号, charindex('-', 编号)-1)
where charindex('-',编号)>0