sql server的一個有趣的bit位運算分享
更新時間:2013年09月18日 17:49:13 作者:
sql server中沒有bool類型,而是用bit類型來表示bool值,估計是為了節(jié)省存儲空間,下面為大家介紹下這個有趣的bit位運算,感興趣的朋友可以參考下
sql server中沒有bool類型,而是用bit類型來表示bool值,估計是為了節(jié)省存儲空間。
可是要想實現(xiàn)取反操作似乎就麻煩寫了,比如類似下面這樣的語句是不行的:update category set visible=not visible where id=1,因為visible是bit類型,而不是bool類型。
一個很有趣的問題發(fā)生了,我們發(fā)現(xiàn)在Sql Server中的bit類型的數(shù)據(jù)-1可以表示1,于是我們可以將上面的語句改成:
update category set visible=visible-1 where id=1
呵呵:當然也可以這樣寫了:update category set visible = 1-visible where id=1,這樣就沒有-1了,就只有0和1了。
可是要想實現(xiàn)取反操作似乎就麻煩寫了,比如類似下面這樣的語句是不行的:update category set visible=not visible where id=1,因為visible是bit類型,而不是bool類型。
一個很有趣的問題發(fā)生了,我們發(fā)現(xiàn)在Sql Server中的bit類型的數(shù)據(jù)-1可以表示1,于是我們可以將上面的語句改成:
update category set visible=visible-1 where id=1
呵呵:當然也可以這樣寫了:update category set visible = 1-visible where id=1,這樣就沒有-1了,就只有0和1了。
相關(guān)文章
SQLSERVER 的 truncate 和 delete 區(qū)別解析
在面試中我相信有很多朋友會被問到 truncate 和 delete 有什么區(qū)別,接下來通過本文給大家普及下SQLSERVER 的 truncate 和 delete 有區(qū)別,需要的朋友可以參考下2023-02-02使SQL用戶只能看到自己擁有權(quán)限的庫(圖文教程)
使SQL用戶只能看到自己擁有權(quán)限的庫,想實現(xiàn)這一點并不難,本文以SQL Server 2012 為例為大家詳細介紹,感興趣的朋友可以參考下2012-12-12Sqlserver 2000/2005/2008 的收縮日志方法和清理日志方法
講解一下sql 2005日志怎么清理。一般情況下,SQL數(shù)據(jù)庫的收縮并不能很大程度上減小數(shù)據(jù)庫大小,其主要作用是收縮日志大小,應當定期進行此操作以免數(shù)據(jù)庫日志過大2012-07-07SQL Server 2008 R2數(shù)據(jù)庫遷移的實現(xiàn)方法
這篇文章給大家介紹了SQL Server 2008 R2數(shù)據(jù)庫遷移的兩種方案簡要指南,文章通過圖文結(jié)合介紹的非常詳細,對大家的學習或工作有一定的幫助,需要的小伙伴跟著小編一起來看看吧2024-01-01MS sqlserver 2008數(shù)據(jù)庫轉(zhuǎn)換成2000版本的方法
這篇文章主要為大家詳細介紹了MS sqlserver 2008數(shù)據(jù)庫轉(zhuǎn)換成2000版本的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-11-11SQLServer2000 報1053錯誤(服務沒有及時響應或控制請求)的解決方法
發(fā)生錯誤 1053-(服務沒有及時響應或控制請求。),此時正在 MSSQLServer 服務上執(zhí)行該服務操作。我立即上網(wǎng)查找相關(guān)信息,看見有人說是更改windows用戶密碼后便出現(xiàn)此類問題,但說得都不是很明白,所以自己想總結(jié)一下2013-06-06sqlserver查詢?nèi)サ糁貜蛿?shù)據(jù)的實現(xiàn)
這篇文章主要介紹了sqlserver查詢?nèi)サ糁貜蛿?shù)據(jù)的實現(xiàn)操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-01-01