我有一个列col_name的表,其数据类型为tinyint,它只能存储0或1.现在我想运行更新查询,如果col_name值为0,则将col_name值从0更改为1,否则反之亦然.Suggest不同的想法? 我当前的查询无效但没有任何错误
UPDATE table SET col_name=case when col_name=0 then col_name=1 else col_name=0 end
答案 0 :(得分:2)
UPDATE the_table
SET col_name = 1 - col_name
WHERE 1=1
;
答案 1 :(得分:1)
试试这个:
UPDATE table
SET col_name =
case when col_name = 0
then 1
else 0
end
答案 2 :(得分: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
您只需指定数字
即可答案 3 :(得分:0)
尝试使用
update updation
set digits = decode(digits, 1, 0, 0, 1, digits)
其中updation是表的名称,digits是列的名称