在 SQL Server 中,用来处理判断flag的字段,使用 bit类型。在使用过程中有几点需要注意的:
1、bit 与 SQL Server 的整型和数字数据相似的数字数据,但 bit 列只能存储 0 和 1。
2、在插入、修改 bit 数据时,使用 0 或 1 ,而不是 false 或 true,bit 字段放在 where 查询条件中也是这样。
3、利用 RecordSet 将 bit 字段中的数据取出来后,它是 boolean 类型,而不是数字类型,即在判断时应该使用 if rs("bitField") then,而不是 if rs("bitField")=1 then。
Transact-SQL参考文档上说:
-------------------------------------
bit
整型数据 1、0 或 NULL。
注意:
不能对 bit 类型的列使用索引。
Microsoft® SQL Server™ 优化用于 bit 列的存储。如果一个表中有不多于 8 个的 bit 列,这些列将作为一个字节存储。
bit值类型可以取值为 1 (true )、0 或 NULL 的整数数据类型。
当你直接打开表向这一列中插入数据是就需要插入true或false ,即表现值
当你用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('lijiash111','beijing',23,1) true
insert into boy values('lijiash null','beijing',23,null) 出错
当你在查询分析其中用select语句读取这个表中的这一列数据时该列数据显示的是0或1
当你在C#等应用程序中调用sqlserver2005存储过程是返回的结果集中这一列的值是true或false
在数据库中存放的是0/1/NULL,自己用SQL转:
select case 字段 when 1 then '是' when 0 then '否' else '空' end from 表
分享到:
相关推荐
SQL SERVER 数据类型详解 对于初学着比较有帮助
Microsoft Access、MySQL 以及 SQL Server 所使用的数据类型和范围。 SQL Server 数据类型 Character 字符串 数据类型 描述 存储 char(n) 固定长度的字符串。最多 8,000 个字符。 n varchar(n) 可变长度的...
截止到目前(2023-08-16)官网最新版本,本次新增功能如下: 添加了对 GENERATE_SERIES 和 OPENQUERY 关系运算符的支持 新增支持LEFT_SHIFT、RIGHT_SHIFT、BIT_COUNT、...修复了数据编辑器中错误地指示缺少 SQL Server
数据库迁移指导SQL SERVER 2008向ORACLE 11G
一个很有趣的问题发生了,我们发现在Sql Server中的bit类型的数据-1可以表示1,于是我们可以将上面的语句改成: update category set visible=visible-1 where id=1 呵呵:当然也可以这样写了:update category
如下是一个简化的员工考勤应用E-R图,请在SQL Server中创建名为YQKG的数据库,包括两个数据文件,一个日志文件,文件名按SQL Server对象命名规范定义,数据文件按10%的比例增长,数据库定义完成后输入如下样本数据。...
bit 数据类型是整型,其值只能是0、1或空值。这种数据类型用于存储只有两种可能值的数据,如Yes 或No、True 或Fa lse 、On 或Off int 整型 int 数据类型可以存储从- 231(-2147483648)到231 (2147483 647)之间...
4.8.3 BIT数据类型列上的索引 136 4.8.4 作为一个查询处理的CREATE INDEX语句 136 4.8.5 并行索引创建 136 4.8.6 在线索引创建 137 4.8.7 考虑数据库引擎调整顾问 137 4.9 小结 137 第5章 数据库引擎调整顾问...
4.8.3 BIT数据类型列上的索引 136 4.8.4 作为一个查询处理的CREATE INDEX语句 136 4.8.5 并行索引创建 136 4.8.6 在线索引创建 137 4.8.7 考虑数据库引擎调整顾问 137 4.9 小结 137 第5章 数据库引擎调整顾问...
更改当前数据库中用户创建对象(如表、列或用户定义数据类型)的名称。 语法 sp_rename [ @objname = ] 'object_name' , [ @newname = ] 'new_name' [ , [ @objtype = ] 'object_type' ] --假设要处理的表名为...
1.SQLSERVER数据库改bit类型为 not Boolean(即,true改成false;false改成true) 例:update 表 set bit字段=bit字段-1最近有个朋友问我,他说他在SQLSERVER删除几百万到几千万数据是显的很慢,帮他分析了一下,提...
对access来说是错误的,不等同于SQLserver中的(''),导入程序对此自动修正 V1.05找了很多论坛和整站数据库作了测试,都成功导入 程序生成从 Access2000 MDB 数据库到 SQL server的升迁脚本(表结构和数据) 包括默认...
问题描述:在SQL Server 数据库中,如何实现二进制数据与字符串数据之间的直接转换? 一定会有人立马反问我:为什么不在程序中使用 C# 或者 JAVA 或者 C++ 来处理这个业务呢?我的回答是:这个我知道,也已经实现了...
例如:如果应用程序执行的一个查询经常检索某一日期范围内的记录,则使用聚集索引可以迅速找到包含开始日期的行,然后检索表中所有相邻的行,直到到达结束日期。这样有助于提高此类查询的性能。同样,如果对从表中...
对access来说是错误的,不等同于SQLserver中的(''),导入程序对此自动修正 V1.05找了很多论坛和整站数据库作了测试,都成功导入 程序生成从 Access2000 MDB 数据库到 SQL server的升迁脚本(表结构和数据) 包括默认...
2. 仅供参考使用,目前支持int,datetime, varchar,char, nchar,nvarchar, image , smallint, bit等数据类型的数据导出。binary类型的数据导出功能因测试环境所 限,暂未测试。 3. 支持多...
对access来说是错误的,不等同于SQLserver中的(''),导入程序对此自动修正 V1.05找了很多论坛和整站数据库作了测试,都成功导入 程序生成从 Access2000 MDB 数据库到 SQL server的升迁脚本(表结构和数据) 包括默认...
使用mss2sql生产数据库定义,在用navicat做数据迁移。mss2mysql生产的表定义需要稍微改动下,如mssql datetime类型默认保存到毫秒,mysql需要定义datetime(3),bit 类型转成mysql要换成tinyint。还可能遇到字符编码...