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遍


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM