2

因此,应用程序具有位标记的复选框。根据选择的复选框选项,应用程序会将其作为整数存储在数据库中。如何查询数据库中的 int 以检查特定位是否打开/关闭。

例子:

Decimal   Binary
16        00010000
208       11010000

我想检查第 5 位是打开还是关闭(或任何相关的)。

4

2 回答 2

2

SQL Server 没有位移运算符,但类似这样的工作:

where decimal & power(2,5-1) > 0

当然,使用位图引出了一个问题:为什么不只使用一组位标志?您可以单独定义每一个,并且代码更易于阅读。

于 2018-06-04T18:49:25.093 回答
0

您可以在 SQL 中通过乘以或除以 2 来定义位移运算符

可以在此处找到执行此操作的存储过程示例:http: //dataeducation.com/bitmask-handling-part-4-left-shift-and-right-shift/

于 2018-06-05T13:58:44.417 回答