程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> 一個有趣的SQL命題 用一條語句切換BIT型的真假值

一個有趣的SQL命題 用一條語句切換BIT型的真假值

編輯:關於SqlServer
當然,第一反應是用存儲過程。判斷原來這個字段值,然後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來處理。
這個需求很容易就解決了。
通常這在一些狀態切換(或開關)的地方會用到,在需求中不需要知道切換後的情況。很有趣也很簡單,呵呵
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved