Access与sql server在查询中处理BIT / BOOLEAN 逻辑字段不同之处
- 2021-12-01
- 来源/作者: 菜鸟图库/ 菜鸟图库
- 337 次浏览
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
只能这么做, 这是没有办法的事情, 两种语言定义的不一样