因此,应用程序具有位标记的复选框。根据选择的复选框选项,应用程序会将其作为整数存储在数据库中。如何查询数据库中的 int 以检查特定位是否打开/关闭。
例子:
Decimal Binary
16 00010000
208 11010000
我想检查第 5 位是打开还是关闭(或任何相关的)。
因此,应用程序具有位标记的复选框。根据选择的复选框选项,应用程序会将其作为整数存储在数据库中。如何查询数据库中的 int 以检查特定位是否打开/关闭。
例子:
Decimal Binary
16 00010000
208 11010000
我想检查第 5 位是打开还是关闭(或任何相关的)。
SQL Server 没有位移运算符,但类似这样的工作:
where decimal & power(2,5-1) > 0
当然,使用位图引出了一个问题:为什么不只使用一组位标志?您可以单独定义每一个,并且代码更易于阅读。
您可以在 SQL 中通过乘以或除以 2 来定义位移运算符
可以在此处找到执行此操作的存储过程示例:http: //dataeducation.com/bitmask-handling-part-4-left-shift-and-right-shift/