按位运算SQL

时间:2013-11-08 10:03:57

标签: sql binary bit-manipulation bitwise-operators bitwise-and

您好我正在使用SQL Server Management Studio,并且需要对按位操作进行一些调整。

我有确定用户访问权限的某些值,例如

1 - 查看文档 2 - 查看对象 4 - 查看规则 8 - 编辑文档 16 - 编辑对象 32 - 编辑规则 64 - 删除文件 128 - 删除对象 256 - 删除规则。

当前在数据库中,用户访问权限的值作为按位运算符存储在数据库中 例如73 - 这意味着用户可以查看,文档,编辑,文档和删除文档。

如何编写查询以显示用户详细信息并解释存储在accessRights字段中的整数以显示:

“查看文档”+“编辑文档”+“删除文档”

在自定义列“用户”权限中。

当访问级别= 1“One的属性”时我尝试使用这种情况......当访问级别等于2“两个属性”时...当访问级别等于3“Ones Properties”+“Two's properties”

由于

1 个答案:

答案 0 :(得分:1)

由于性能原因,我不推荐它(例如,如果必须对列执行按位类型操作,则不能使用索引进行查询)...

但SQL中的按位OR(好吧,T-SQL / Sql Server)是|,按位是&