欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

一個(gè)有趣的SQL命題 用一條語(yǔ)句切換BIT型的真假值

 更新時(shí)間:2009年08月05日 23:17:43   作者:  
有個(gè)需求,用一條SQL語(yǔ)句(SQL SERVER)的,切換某個(gè)BIT字段值。也就是說(shuō)從TRUE變FALSE,從FALSE到TRUE。
當(dāng)然,第一反應(yīng)是用存儲(chǔ)過(guò)程。判斷原來(lái)這個(gè)字段值,然后UPDATE。
網(wǎng)上粗粗找了一下沒(méi)找到方案。自己一動(dòng)手,居然有個(gè)很有趣的結(jié)果,連WHERE都不用
對(duì)數(shù)據(jù)庫(kù)的BIT型賦值,用SQL語(yǔ)句來(lái)操作和用管理界面輸入不同。管理界面輸入必須用TRUE或FALSE來(lái)填寫。而SQL語(yǔ)句則用0或1
于是乎,先嘗試:
復(fù)制代碼 代碼如下:

updat t set b=b+1 where id=1;
select b from t where id=1;

b字段一直保持1
那么用減號(hào)呢
復(fù)制代碼 代碼如下:

update t set b=b-1 where id=1;
select b from t where id=1;

可以發(fā)現(xiàn)每次結(jié)果就在0和1之間切換,SQL SERVER把-1當(dāng)做1來(lái)處理。
這個(gè)需求很容易就解決了。
通常這在一些狀態(tài)切換(或開(kāi)關(guān))的地方會(huì)用到,在需求中不需要知道切換后的情況。很有趣也很簡(jiǎn)單,呵呵

相關(guān)文章

最新評(píng)論