前言
本文主要給大家介紹了關(guān)于SQL Server中bit類型字段增刪查改的一些事,話說BIT類型字段之前,先看“詭異”的一幕,執(zhí)行Update成功,但是查詢出來的結(jié)果依然是1,而不是Update的2
當(dāng)別人問起我來的時(shí)候,本人當(dāng)時(shí)也是處于懵逼狀態(tài)的,后面聯(lián)想具體的業(yè)務(wù)突然想起來這個(gè)字段是bit類型的
如果把這個(gè)現(xiàn)象跟BIT類型字段連續(xù)起來就不覺得奇怪了。
廢話不多,直接上代碼看結(jié)果就好了。
先建一個(gè)測(cè)試表
CREATE TABLE TestBIT
(
Id INT IDENTITY(1,1),
BitColumn BIT
)
bit類型字段的insert
按照常規(guī)來說,bit類型字段只能存0或者1,所以直接inert 0或者1當(dāng)然是沒有問題的。
因?yàn)閎it代表的是真假值,在insert時(shí)候賦字符串的false或者true也是沒有問題的
當(dāng)然文本僅僅支持false或者true這兩個(gè)字符串,其他都會(huì)報(bào)錯(cuò),從報(bào)錯(cuò)中也會(huì)發(fā)現(xiàn),在insert的時(shí)候有一個(gè)隱式轉(zhuǎn)換
對(duì)于數(shù)值型的數(shù)據(jù):當(dāng)執(zhí)行插入一個(gè)非0或者1的數(shù)值的時(shí)候,也是會(huì)插入成功的,但是(非0的值)插入后的值被隱式轉(zhuǎn)換為1了
插入非0的數(shù)值,均被轉(zhuǎn)換為1,也就是true
bit類型字段的更新操作
執(zhí)行更新操作也一樣,如果更新的是數(shù)值,更新的字符串只能為false或者true
如果更新的是數(shù)值,并且這個(gè)數(shù)值不是0(是整數(shù)或者負(fù)數(shù)),相當(dāng)于更新bit字段類型為1
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
您可能感興趣的文章:- sql server的一個(gè)有趣的bit位運(yùn)算分享
- sqlserver 增刪改查一些不常用的小技巧