SQL(SQL Server) 批量替换两列的数据
前言
群里的回答似乎都不在点上,如果是sql里面批量替换的话,我们看下面的操作
一、分析
比如这张学生表
我们要把姓名列和性别列替换
如何快速替换,一条sql语句就搞定呢?
直接这样看对不对
update Student set Student.stuSex=(select stuName from Student)
如果执行这一段的话
改造:
update Student set Student.stuSex=(select s2.stuName from Student as s2 where s2.stuID=Student.stuID)
如果执行这一段的话,那么性别列全部会变成 姓名列的数据,也不行,看下效果
那么如何做到两边同时替换呢?
二、最终
update Student set Student.stuSex=(select s2.stuName from Student as s2 where s2.stuID=Student.stuID),Student.stuName=(select s2.stuSex from Student as s2 where s2.stuID=Student.stuID)
可以换行
update Student set Student.stuSex=(select s2.stuName from Student as s2 where s2.stuID=Student.stuID), Student.stuName=(select s2.stuSex from Student as s2 where s2.stuID=Student.stuID)
三、总结
这个小技巧,你学废了吗,不会罚抄300遍
L-Rui