SQL Server 2005---bit数据类型说明

来源:互联网 发布:html5微场景源码下载 编辑:程序博客网 时间:2024/06/04 18:56

Transact-SQL参考文档上说:
-------------------------------------
bit
整型数据 1、0 或 NULL。

注释
不能对 bit 类型的列使用索引。

Microsoft® SQL Server™ 优化用于 bit 列的存储。如果一个表中有不多于 8 个的 bit 列,这些列将作为一个字节存储。

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

当你直接打开表向这一列中插入数据是就需要插入true或false  ,即表现值。当你试图输入其他值时,系统会提示

"此单元格中更改的值未被识别为有效值。      

.Net Framework 数据类型:Boolean        

错误信息:该字符串未被识别为有效的布尔值

                                                              

键入适合于此数据类型的值或按Esc 取消更改"

 

当你用sql语句插入数据的时候该列就插入0(false)或1(true),0,1即实际值
这里插入非0数据(在这里插入字符串也会出错),自动转换为1 ,没有插入时默认null
insert into boy values('lijiash9','beijing',23,9) true
insert into boy values('lijiash00','beijing',23,0) false

insert into boy values('lijiash00','beijing',23,0.2) true
insert into boy values('lijiash111','beijing',23,1) true
insert into boy values('lijiash null','beijing',23,null) 出错

当你在查询分析其中用select语句读取这个表中的这一列数据时该列数据显示的是0、1或NULL

当你在C#等应用程序中调用sqlserver2005存储过程是返回的结果集中这一列的值是true或false

在数据库中存放的是0/1/NULL,自己用SQL转:  
   
  select   case   字段   when   1   then   '是'   when   0   then   '否'   else   '空'   end   from   表

BIT类型在SQL Server中的存储大小 参照http://syue.com/Database/MsSQL/238110.html

 

原文:http://happymen001.javaeye.com/blog/513592