gpt4 book ai didi

sql-server - 带有 varbinary 右侧运算符的 TSQL vbinary 位掩码

转载 作者:行者123 更新时间:2023-12-01 06:42:36 24 4
gpt4 key购买 nike

我正在为我面临的这个设计挑战寻找一些提示或技巧:

我需要对存储在数据库中的两个相同大小的 varbinary 字段进行位掩码。只是为了澄清,不,这不是“权限表”或任何东西。我会为这些类型的项目规范化数据库,而这些数据无法规范化。我正在存储一个 varbinary 字段,用于动态存储我们的应用程序生成的位。我也在用另一个 varbinary 查询搜索这些位。在 .net 中,我使用 BigInteger 类型来处理所有位掩码,它做得很好,但是我正在考虑将这个过程卸载到数据库服务器以过滤结果,然后再将结果传回调用者。现在,我最多支持 varbinary(512) 字段类型,并且想要同时使用 AND 和 OR 运算符,并且能够比较右侧运算符中的位的 ANY (OR) 或 ALL (AND) 是否成功通过。 MSDN 说您可以将 varbinary() 与右侧运算符 max bigint 一起使用,但是我需要超过它。

我发现的一个很好的资源是 Adam Machanic 发表的关于这个主题的博客,但在我深入研究之前看看是否还有其他方法。

http://sqlblog.com/blogs/adam_machanic/archive/2006/07/12/bitmask-handling-part-3-logical-operators.aspx

这适用于 SQL 2005 或更高版本。如果 2008 年有一个 2005 年没有的功能,我会很好,只是我还没有找到。

非常感谢任何提示或技巧。

谢谢。

特拉维斯·惠登

最佳答案

如果您知道位图的最大长度,您可以将其分布在多列上并单独屏蔽它们。

不过,它很快就会变得凌乱。

关于sql-server - 带有 varbinary 右侧运算符的 TSQL vbinary 位掩码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8968868/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com