0

我有一个表,其列 col_name 的数据类型为 tinyint,它只能存储 0 或 1。现在我想运行更新查询以将 col_name 值从 0 更改为 1,如果它包含 0,反之亦然。建议不同的想法?我当前的查询不起作用但没有任何错误是

UPDATE table SET col_name=case when col_name=0 then col_name=1 else col_name=0 end
4

4 回答 4

2
UPDATE the_table 
SET col_name = 1 - col_name
WHERE 1=1
    ;
于 2012-06-10T13:41:47.967 回答
1

尝试这个:

UPDATE table 
SET col_name = 
    case when col_name = 0 
         then 1  
         else  0 
    end
于 2012-06-10T10:23:20.670 回答
0
UPDATE table SET col_name=case when col_name=0 then 1 else 0 end

你也可以做

UPDATE table SET CASE col_name WHEN 0 THEN 1 ELSE 0 END CASE

您只需要指定数字

案例陈述参考

于 2012-06-10T10:21:28.103 回答
0

尝试使用

update updation
set digits = decode(digits, 1, 0, 0, 1, digits)

其中 update 是表的名称,digits 是列的名称

于 2012-10-10T11:58:58.683 回答