sql server中沒有bool類型,而是用bit類型來表示bool值,估計是為了節省存儲空間。
可是要想實現取反操作似乎就麻煩寫了,比如類似下面這樣的語句是不行的:update category set visible=not visible where id=1,因為visible是bit類型,而不是bool類型。
一個很有趣的問題發生了,我們發現在Sql Server中的bit類型的數據-1可以表示1,於是我們可以將上面的語句改成:
update category set visible=visible-1 where id=1
呵呵:當然也可以這樣寫了:update category set visible = 1-visible where id=1,這樣就沒有-1了,就只有0和1了。