第1个回答 2011-05-30
我估计这个是 客户端那里, 自动作了转换.
也就是你输入 true, 那么存储到数据库里面的是 1
如果你输入 false ,那么存储到数据库里面的是 0
输入 null, 那么自然就是 null 了。
下面是一个例子,创建了一个临时表, 只有一列 数据类型为 bit
插入数据的时候,是要输入 数字的。
E:\>sqlcmd -S "localhost\SQLEXPRESS"
1> use test
2> go
已将数据库上下文更改为 'Test'。
1> create table #tmp( id bit );
2> go
1> insert into #tmp VALUES ( 1 );
2> go
(1 行受影响)
1> insert into #tmp VALUES ( true );
2> go
消息 207,级别 16,状态 1,服务器 WANG\SQLEXPRESS,第 1 行
列名 'true' 无效。