需求:用一条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来处理。