Access与sql server在查询中处理BIT / BOOLEAN 逻辑字段不同之处

2002-04-07 19:27:00
大熊-Office交流网
原创
1554
1.在Access中可以用下面的查询语句:
SELECT field FROM table WHERE boolField=TRUE 
-- or 
SELECT field FROM table WHERE boolField=FALSE 
2.这两条语句在SQL Server中通不过,所以要改成下面的形式:
SELECT field FROM table WHERE bitField=1 
-- or 
SELECT field FROM table WHERE bitField=0
3.令人烦恼的是上面这两条语句在Access中也会出问题,因为Access把-1当作True,而不是1。在搞清楚了这个问题后,我们可以写出在两种环境中都能运行的查询语句:
SELECT field FROM table WHERE bitField<>0 
-- or 
SELECT field FROM table WHERE bitField=0 

tmtony
我也是这么做的
当年花很多时间调错就是在这里, 常常是-1 和1 在捣鬼

 
huanghai
我的不知道怎么回事时用文本框的值等于选择框,结果是-1还是true什么的就知道了:)

zhuyiwen
只能这么做, 这是没有办法的事情, 两种语言定义的不一样

(相关查询-相关文章技巧链接):
MS Jet SQL for Access 2000中级篇 (II)
MS Jet SQL for Access 2000中级篇
分享