當然,第一反應是用存儲過程。判斷原來這個字段值,然後UPDATE。
網上粗粗找了一下沒找到方案。自己一動手,居然有個很有趣的結果,連WHERE都不用
對數據庫的BIT型賦值,用SQL語句來操作和用管理界面輸入不同。管理界面輸入必須用TRUE或FALSE來填寫。而SQL語句則用0或1
於是乎,先嘗試:
代碼如下:
updat t set b=b+1 where id=1;
select b from t where id=1;
b字段一直保持1
那麼用減號呢
代碼如下:
update t set b=b-1 where id=1;
select b from t where id=1;
可以發現每次結果就在0和1之間切換,SQL SERVER把-1當做1來處理。
這個需求很容易就解決了。
通常這在一些狀態切換(或開關)的地方會用到,在需求中不需要知道切換後的情況。很有趣也很簡單,呵呵