SQL:在不使用中间值的情况下交换列中的两个值

SQL:在不使用中间值的情况下交换列中的两个值

给定一个表,其中只有一列包含两个值,例如“A”和“B”,是否有办法在一条语句中交换它们

前任:

A
B
A
B

B
A
B
A

如果我们使用一个位或一个占位符值,这是一个简单的过程(将所有 A 更改为 C,将所有 B 更改为 A,将所有 C 更改为 B),但是是否有通用方法可以做到这一点?

答案1

好的,这样的语句是有效的:

update tab set col=IIF(col='A','B','A')

我会保留这个,以防人们有更好的方法,除非有人要求删除它

相关内容