如何交换同一个表中同一列的值

问题描述 投票:0回答:3

我想知道如何在一个查询中交换同一个表中同一列的值。

例如,表格如下。

  SerialNo         Status
      1           Married
      2           Single
      3           Married

现在,我想要的结果是“已婚”应转换为“单身”,“单身”应转换为已婚。

预期:

  SerialNo         Status
      1           Single
      2           Married
      3           Single

这应该仅在一次查询中完成。是否可以通过单个查询来完成此操作?如果是的话,请帮助我。

提前致谢。

sql self-join
3个回答
6
投票
UPDATE MyTable
SET Status = (CASE WHEN Status = 'Married' THEN 'Single' ELSE 'Married' END )

1
投票

使用这个:

SET Status = CASE WHEN Status = 'Married' THEN 'Single'
                  WHEN Status = 'Single'  THEN 'Married' 
                                          ELSE 'Unknown' END

0
投票

如果它们的值不同怎么办 1:abc,2:pqr ,3:klm,4:mno,:5:jkl 我们必须将两个连续的值交换为最后一个值,然后它保持不变

© www.soinside.com 2019 - 2024. All rights reserved.