SQL Server 中BIT類型字段增刪查改那點事


  

  話說BIT類型字段之前,先看“詭異”的一幕,執行Update成功,但是查詢出來的結果依然是1,而不是Update的2
  當別人問起我來的時候,本人當時也是處於懵逼狀態的,后面聯想具體的業務突然想起來這個字段是bit類型的

  

  如果把這個現象跟BIT類型字段連續起來就不覺得奇怪了。
  廢話不多,直接上代碼看結果就好了。
  先建一個測試表

CREATE TABLE TestBIT
(
    Id INT IDENTITY(1,1),
    BitColumn BIT
)

 

bit類型字段的insert

按照常規來說,bit類型字段只能存0或者1,所以直接inert 0或者1當然是沒有問題的。

因為bit代表的是真假值,在insert時候賦字符串的false或者true也是沒有問題的

當然文本僅僅支持false或者true這兩個字符串,其他都會報錯,從報錯中也會發現,在insert的時候有一個隱式轉換

  對於數值型的數據:當執行插入一個非0或者1的數值的時候,也是會插入成功的,但是(非0的值)插入后的值被隱式轉換為1了
   插入非0的數值,均被轉換為1,也就是true

   

bit類型字段的更新操作   

  執行更新操作也一樣,如果更新的是數值,更新的字符串只能為false或者true

     

   

    如果更新的是數值,並且這個數值不是0(是整數或者負數),相當於更新bit字段類型為1

   

   

 

 

 

 

 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM