2

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

例如,表如下所示。

  SerialNo         Status
      1           Married
      2           Single
      3           Married

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

预期的:

  SerialNo         Status
      1           Single
      2           Married
      3           Single

这应该只在一个查询中完成。是否可以通过单个查询来做到这一点?如果是,请帮助我。

提前致谢。

4

2 回答 2

6
UPDATE MyTable
SET Status = (CASE WHEN Status = 'Married' THEN 'Single' ELSE 'Married' END )
于 2013-04-26T05:28:21.893 回答
1

用这个:

SET Status = CASE WHEN Status = 'Married' THEN 'Single'
                  WHEN Status = 'Single'  THEN 'Married' 
                                          ELSE 'Unknown' END
于 2013-04-26T05:24:06.770 回答