如何在MS-ACCESS中执行按位运算算法

Sal*_*n A 3 sql ms-access bitwise-operators where-clause

在MSACCESS内部我想在WHERE查询子句中使用相对简单的按位运算,例如:

SELECT *
FROM Table1
WHERE Column1 (some operator) 8 = 0
Run Code Online (Sandbox Code Playgroud)

这个会:

  • 返回Column1没有第4位设置的行,例如0,1,2,...,7(所有第4位都清零)和16(它是00010000b)
  • 排除Column18,9,10,...,15等行.

PS:位运算符是否与布尔运算不同?

vul*_*ino 5

你可以:

WHERE (((column\(2^b)) mod 2) = 1)
Run Code Online (Sandbox Code Playgroud)

编辑:(其中b是要测试的特定位)

除非您设置ANSI模式,否则在Access中不可用OR.

  • WHERE (int([列名]/(2^[零位测试]) mod 2 = 1) (2认同)