SQL:交換列中的 2 個值而不使用中間值

SQL:交換列中的 2 個值而不使用中間值

給定一個表,該表的單列僅包含 2 個值(例如“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')

我會保留這個,以防人們有更好的方法,除非有人要求刪除它

相關內容