mssql sqlserver 两列值调换的操作方法分享


摘要:
下文主要讲述如何将表中两列的值进行互换


方法1:

如果我们做全表列值互换,我们可以采用直接修改列名的方式,来处理此类问题
注意事项:
需同时修改包含列名的相关设置,如:索引、约束

 create table A  (name varchar(20),qty int,info varchar(30) )
go
insert into A(name,qty)values('a',1),('a',101),
('b',100),('b',145),('c',98),('c',13),('d',29)
go
/*
方法1---修改列名
*/

exec sp_rename 'A.[name]','name1','column' 
exec sp_rename 'A.[info]','name2','column' 
go

exec sp_rename 'A.[name1]','info','column' 
exec sp_rename 'A.[name2]','name','column' 
go

select * from A 

go
truncate table A
drop     table A 

———————————————–
方法2:

直接采用脚本对列值进行互换操作,如:
update table set A=B,B=A where []


例:

 
create table A  (name varchar(20),qty int,info varchar(30) )
go
insert into A(name,qty)values('a',1),('a',101),
('b',100),('b',145),('c',98),('c',13),('d',29)
go
/*
方法2---使用update修改列值
*/
update A set name=info,info=name
go

select * from A 

go
truncate table A
drop     table A