SQL Server 2000 数据修改问题

来源:百度知道 编辑:UC知道 时间:2024/09/24 05:26:19
SQL Server 2000中的表,用作ERP系统,需要将料号(包含工序S*,S*在料号最后,nvaerchar型)去掉工序名S*,数量比较大,如何批量修改?
例如料号 000123S1(料号位数不定) 目的是去掉后边的S1,料号也有可能是000123S1S2、123000S1S2,就要去掉S1S2,该如何做,请高手帮忙。
目的是去掉最后的S*,中间的不能去啊。还有更好的方法吗?

很好处理呀,用替换函数replace(),把s1,s2都替换为空,不管有多少位一哈子就搞定,别考虑的长度问题.......

update table set 料号=replace(replace(料号,'s1',''),'s2','')
================================================================

update table set 料号=substring(料号,1,charindex('S',料号)-1)

确定数据库中前一段 例如(000123)不存在S

既然前面都是6位的
update tablename set 料号=substring(料号,1,6)

select substring(料号,1,charindex('S1',料号)-1)