2

我有下表我想在单个查询中将状态从 0 更新为 1 和从 1 更新为 0

    ID        Name           Status
------------------------------------------
    1          Ben             0
    2          John            1
    3          Mark            0
    4          Gates           0
    5          Ricky           1
4

3 回答 3

6

正如答案的数量已经显示的那样,有很多方法可以做到这一点。我的只是:

UPDATE [Table] set status = 1-status

如果表中有不应触及的非 0 和非 1 行,我还要添加:

WHERE status in (0,1)
于 2013-07-22T09:46:06.577 回答
1

如果列状态可以是null或状态可以有两个以上的值,则此解决方案应该适合您。

update tab
   set status = case 
                  when status=0 then 1
                  when status=1 then 0
                end 
于 2013-07-22T09:41:42.277 回答
0

如果您只有两个值(例如 0 和 1),请尝试以下操作:

UPDATE MyTable
SET Status = CASE WHEN Status = 0 THEN 1 ELSE 0 END
于 2013-07-22T09:42:41.723 回答