SQL中 将同一个表中的A列更新到B列,B列更新到A列

原文:SQL中 将同一个表中的A列更新到B列,B列更新到A列

有网友在SKYPE问及,如标题,SQL中 将同一个表中的A列更新到B列,B列更新到A列。

其实这个不是问题,直接写更新语句即可,可以参考下面动画演示:

SQL source code:

CREATE TABLE [dbo].[tbl]
(
    [id] INT,
    [a]  NVARCHAR(10),
    [b] NVARCHAR(10)
)
INSERT INTO [dbo].[tbl] VALUES (1,'123','456')

SELECT [id],[a],[b] FROM [dbo].[tbl]

UPDATE [dbo].[tbl] SET [a] = [b], [b] = [a] WHERE [id] = 1

SELECT [id],[a],[b] FROM [dbo].[tbl]

View Code

 明白为什么可以这样,应该先明白SQL的更新时,会先把更新所有行的每一列原始值放在一个deleted表中,更新的值会放在一个 inserted表中。

 

时间: 2024-12-24 12:49:24

SQL中 将同一个表中的A列更新到B列,B列更新到A列的相关文章

sql查询-sql 同一个表中如何把两条数据合并成一条显示,并显示两条数据的全部内容

问题描述 sql 同一个表中如何把两条数据合并成一条显示,并显示两条数据的全部内容 数据库是 sqlserver2008的环境. 是一个列变行的问题 ,请大师帮忙啊. 比如 table表中 字段: id name bianhao address shijian 1 张三 001 北京 2013-12-1 2 李四 001 北京 2013-12-1 最后显示的内容为: 字段: name1 name2 bianhao address shijian 张三 李四 001 北京 2013-12-1 合并

sql-如何用SQL语句查出该表中 不为空的值得数量

问题描述 如何用SQL语句查出该表中 不为空的值得数量 如何用SQL语句查出该表中 不为空的值得数量 (studentLoginId不为空的有几个,parentLoginId不为空的有几个,它们的和) 解决方案 select (select count(1) from table where studentLoginId is null) scount, (select count(1) from table where parentLoginId is null)) pcount, (sele

数据存储-sql server在同一表中筛选出两次刷卡记录时间大于等于40分钟的员工数据

问题描述 sql server在同一表中筛选出两次刷卡记录时间大于等于40分钟的员工数据 刷卡进出数据存储在同一表中,姓名有重复的,一个人可能刷了2次,要求选出在时间段2014-12-28 11:00:00到2014-12-28 13:00:00内两次刷卡记录时间间隔大于等于40分钟的员工 logtime (时间 )logcard (卡号 )logid () logname(姓名) logbm (部门) 解决方案 ```select * from 同一表 a where logtime betw

sql-如何用SQL语句查询Table表中的ID1中的O1,O2,O3为1 的数目

问题描述 如何用SQL语句查询Table表中的ID1中的O1,O2,O3为1 的数目 如何用SQL语句查询Table表中的ID1中的O1,O2,O3为1 的数目 Table ID O1 O2 O3 ID1 1 1 0 ID2 1 0 1 ID3 0 1 1 解决方案 select COUNT(*), (select COUNT(*) FROM a where O1='1') AS COUNTO1,(SELECT COUNT(*) FROM A WHERE O2="1") AS COUN

方法-用SQL语句查询User表中newsh属性为“政治类新闻”和“娱乐类新闻”的人数放入MAP中

问题描述 用SQL语句查询User表中newsh属性为"政治类新闻"和"娱乐类新闻"的人数放入MAP中 用SQL语句查询User表中newsh属性为"政治类新闻"和"娱乐类新闻"的人数放入MAP中问题一:整个方法该如何实现问题二:SQL语句怎么写 参考用例 类似这样的方法 新手不知道该怎么改动成自己需要的方法求助各位大神 public Map<String Long> totalInventory(int year

在 SQL Server 中查询EXCEL 表中的数据遇到的各种问题

原文:在 SQL Server 中查询EXCEL 表中的数据遇到的各种问题 SELECT * FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source="D:\KK.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$] 问题:消息 15281,级别 16,状态 1,第 1 行 SQL Server 阻止了对组件 'Ad Hoc Dis

sql service-如何获得LDAP的目录(部门信息),并插入SQL SERVER的部门表中?请贴上相关代码

问题描述 如何获得LDAP的目录(部门信息),并插入SQL SERVER的部门表中?请贴上相关代码 已经连接上了,但是不知道怎么获取里面的数据,比如部门信息和用户信息,都不知道怎么获取,求大神帮帮忙,非常感谢

vc++-VC下SQL语句读取数据表中第n个记录数据

问题描述 VC下SQL语句读取数据表中第n个记录数据 select 列名 from 表单 语句取出的是一整列,现在想取出这一例的第n个数据,不知道如何读出 不使用 select 列名 from 表单 where 列名 = 对应值 解决方案 举个例子: select * from(select row_number() over(order by id desc) rowid,name from test) t where t.rowid = 10 --取第10条记录 解决方案二: select

mysql 同一个表中 如何 用一列的值 update 另一列

问题描述 mysql 同一个表中 如何 用一列的值 update  另一列.比如表 t1:id, user_name, nickname 如何用nickname 列来更新 user_name 列 多谢~~ 解决方案 update user set user_name = nickname;把所有的用户名更新为绰号