zoukankan      html  css  js  c++  java
  • SQL Server 2005和SQL Server 2000中bit类型的区别

    上次想把项目的数据库由SQL Server 2005转换为SQL Server 2000结果碰到这么一个问题.在连接SQL Server 2000后,在将一个bit类型的数据转换做更新是发生数据类型转换失败.

    问题回放:

    先新建一张表:

    01

    插入两条测试数据:

    03

    在SQL Server 2005中做更新操作:

    02

    两条更新全部通过.

    在SQL Server 2000中做更新操作:

    04 

    第二条语句不同通过,数据类型转换失败.由此可见在SQL Server 2005中是支持将字符串类型的值转换为bit值的.并且在MSDN上面看到的也的确如此:

    可以取值为 1、0 或 NULL 的整数数据类型。

    Microsoft SQL Server 2005 Database Engine 优化了 bit 列的存储。如果表中的列为 8 bit 或更少,则这些列作为 1 个字节存储。如果列为 9 到 16 bit,则这些列作为 2 个字节存储,以此类推。

    字符串值 TRUE 和 FALSE 可以转换为以下 bit 值:TRUE 转换为 1,FALSE 转换为 0。

    另外还有一个现象:

    1

    在SQL Server 2005的返回所有行中,自己手工添加bit类型的数据时,只能填写字符串值,也就是true或者false,而在SQL Server  2000中会有一个自动转化的功能,比如你填写0或者false,会自动识别为0.

  • 相关阅读:
    Java并发(5)- ReentrantLock与AQS
    Java并发(4)- synchronized与CAS
    Windows cmd 查看文件MD5 SHA1 SHA256
    进程、线程、协程概念理解
    Python学习--Python运算符
    Python学习--Python变量类型
    MySQL性能优化
    Docket学习--Docker入门
    Python学习--Python基础语法
    Python学习--Python 环境搭建
  • 原文地址:https://www.cnblogs.com/liszt/p/1927117.html
Copyright © 2011-2022 走看看