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
原文地址:https://www.cnblogs.com/Rui6/p/15267314.html