c# – 在SQL Server中反汇编位标志枚举
发布时间:2020-12-15 06:45:11 所属栏目:百科 来源:网络整理
导读:我在SQL Server数据库中有一个INT列,它存储与位标志枚举相关的值.例如,如果枚举是: [Flags()]public enum UserType{ StandardUser = 1,Admin = 2,SuperUser = 4} 那么SQL Server中的列可能保留值为5. 我需要做的是从另一个表中选择所有的行,其中包含有关Use
我在SQL Server数据库中有一个INT列,它存储与位标志枚举相关的值.例如,如果枚举是:
[Flags()] public enum UserType { StandardUser = 1,Admin = 2,SuperUser = 4 } 那么SQL Server中的列可能保留值为5. 我需要做的是从另一个表中选择所有的行,其中包含有关UserType的更多详细信息,所以使用值为5的示例,我想从ID 1和4的第二个表中选择行. 有没有人知道以这种方式打破数字的聪明方法 – 理想的方法应该在一定程度上递归,因为这是一个非常简化的例子,实际的表/枚举要大得多. 解决方法SELECT * FROM first_table f JOIN second_table s ON s.ID & f.Flags <> 0 WHERE f.something = something 这将从second_table中选择与第一个表中给定行上的任何标志匹配的所有行. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |