SQL切换真假状态标识字段

需求:用一条SQL(SQL SERVER)语句,实现反向更改状态标识字段(类型为bit)的值。即是从true变false,或从false到true。

方案:

一、判断原来这个字段值,然后UPDATE为相反的值。
二、对数据库的bit型赋值,在管理界面输入与用SQL语句来操作有所不同。管理界面输入必须用true或false,而SQL语句则用0或1。

实践一下:
UPDATE AttUsers SET IsActive =IsActive+1 WHERE ID=1
SELECT * FROM AttUsers WHERE ID=1

IsActive 字段一直保持1


如果用减号呢?实践一下:

UPDATE AttUsers SET IsActive =IsActive-1 WHERE ID=1
SELECT * FROM AttUsers WHERE ID=1

可以发现每次结果就在0和1之间切换,SQL SERVER把-1当做1来处理。

原文地址:https://www.cnblogs.com/johsan/p/4698919.html