SQL Server 中BIT类型字段增删查改那点事

Posted 专注,勤学,慎思。戒骄戒躁,谦虚谨慎

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

   

   

 

 

 

 

 

  

以上是关于SQL Server 中BIT类型字段增删查改那点事的主要内容,如果未能解决你的问题,请参考以下文章

MySQL 数据库 增删查改克隆外键 等操作

MySQL 数据库 增删查改克隆外键 等操作

SQL Server之 ADO增删查改 登录demo 带参数的sql语句 插入自动返回行号

MySQL大略学习 表格的操作 增删查改

SQL Server 表的管理_关于表的操作增删查改的操作的详解(案例代码)

web安全sql注入&Json&格式类型&加密注入&MYSQL增删查改