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表中。

 

posted @   Insus.NET  阅读(2046)  评论(1编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
点击右上角即可分享
微信分享提示