有一个表 T_Kind
有两个字段:
F_ID (Long)
F_Name (String) 编一个SQL要把F_ID的第n位(bit)是1的找出来, 我的SQL是这样:
PARAMETERS n Byte;
Select * from T_Kind Where ((F_ID And (2^n))>0可是,可是....不管我的F_ID是什么, 查询始终为空? %#@&%$^%*&^*&%*&^%*^& , 超郁闷!
有两个字段:
F_ID (Long)
F_Name (String) 编一个SQL要把F_ID的第n位(bit)是1的找出来, 我的SQL是这样:
PARAMETERS n Byte;
Select * from T_Kind Where ((F_ID And (2^n))>0可是,可是....不管我的F_ID是什么, 查询始终为空? %#@&%$^%*&^*&%*&^%*^& , 超郁闷!
ACCESS解决这样的问题比较困难,你可以用SQL SERVER解决,或者将F_ID改成文本型的,这样求某一位会比较方便。
比如说你要找第三位为"1"的数.这样写:
select '列名'
from '表名'
where '列名' like '__1'
就可以了.
你的方法看上去很有可能可以, 但是我很菜, 不知道怎么用啊!
所以 编一个SQL要把F_ID的第n位(bit)是1的找出来 你可以通过like来变通
既 用 like 查找第n位是1的结果
sql语句就是 select * frome talbename where F_ID like '_ _ 1'
SQL: select * from T_MyTable where F_ID like "__1"
查询的结果是: 标准表达式中数据类型不匹配BTW: 我用的是Access97