注册 登录
编程论坛 SQL Server论坛

SQL企业管理器语法

xhjczx 发布于 2012-06-11 17:21, 600 次点击
请问:一、在SQL企业管理器里mjct1表S2列有一串22位字母加数字的字符,我想把从左到右第十位的“4”字改为“2”字,请问语法怎写?二、在SQL企业管理器里mjct1表S3列有无序“张三”“李四”“王五”的记录,我想遇“张三”改为“陈六”;遇“李四”改为“杨七”;遇“王五”改为“林八”请问语法怎写?谢谢!
2 回复
#2
cnfarer2012-06-12 10:59
update语句就可以
#3
netlin2012-06-17 13:14
问题1的解决方法:
执行命令:
update mjct1 set S2=left(S2,9)+'2'+substring(S2,11,len(S2)-10)
    where len(S2)>=10 and substring(S2,10,1)='4'

问题2的解决方法:
执行命令:
update mjct1 set S3='陈六' where S3='张三'
update mjct1 set S3='杨七' where S3='李四'
update mjct1 set S3='林八' where S3='王五'

如果问题2中,要修改的姓名很多,还可以使用多表链接的修改方法。例如:
select '张三' as 原姓名,'陈六' as 更正名 into #更正表
insert #更正表 select '李四' as 原姓名,'杨七' as 更正名
insert #更正表 select '王五' as 原姓名,'林八' as 更正名
update mjct1 set S3=b.更正名 from mjct1 a inner join #更正表 b on a.S3=b.原姓名
1