access的是/否类型对应的数字是什么?

最近给客户的数据库手动升级,碰到一个疑惑的地方。升级代码是:

with adoquery1 do

begin

   close;

   sql.clear;

   sql.add('update xtsz set column1=:v0');//column类型是bit

   parameters[0].value := false;

   execSQL;

end;

把SQL语句拿到access的查询中执行,v0那地方填false和true都不行,那肯定是0或非0了。到底0为false还是非0为false呢?打开xtsz表中已有的记录,其中有一个column2字段也是bit类型,下面打着勾,说明是true,那我就测试一下:

select iif(column2=0,'false','true') from xtsz

执行结果是true,说明这个判断是对的,等于0的时候为false,非0时候是true。

那还有一个疑问,非0准确吗?什么数字都行?那再测试一下:

select iif(column2=1,'true','false') from xtsz  //column2也有一条记录没有打钩,说明是false

 

执行后返回是false,说明1不是false,再改一个:

select iif(column2=-1,'true','false') from xtsz 

 

执行后返回结果是true,这下对了。再对其他数进行测试返回的都是false,这就说明了,false只对应一个数字,那就是-1.

 

结果出来了,在access中,是/否,也就是bit类型的对应情况是,false=0,true=-1.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值