• 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

       

       

     

      

  • 相关阅读:
    elasticsearch 相关命令
    Ubuntu server 修改系统时区
    js-eval运算符
    js-带操作的赋值表达式
    MVC模型绑定
    MVC部分视图的使用
    C#面试题-递归
    C#校验手机端或客户端
    AngularJs 中使用OpenLayer例子,手机端地图加载不显示问题
    C#后端调用WebApi地址
  • 原文地址:https://www.cnblogs.com/wy123/p/6872721.html
Copyright © 2020-2023  润新知