gpt4 book ai didi

Mysql按位运算和过滤

转载 作者:可可西里 更新时间:2023-11-01 06:28:35 25 4
gpt4 key购买 nike

我尝试使用 MYSQL 实现按位过滤器(如果需要,使用 udf)

过滤器类似于 AND 但我想使用掩码来构建新的位串...让我用一个例子来解释你:

假设我有一个存储 8 位流的 blob 表:

  • 数据1:10110110
  • 数据2:01100010
  • 数据3:00010011

然后当掩码值为 1 时,我有一个掩码可用于从数据中获取位

  • 掩码:00101011

因此得到如下预期结果:

  • 数据1:1010
  • 数据2:1010
  • 数据3:0011

有没有一种方法可以优化过滤,而无需循环“掩码”的每一位来获取“数据”行中的相应值...

澄清

我刚刚为帖子取了 8 位,但它更像是 256 字节

对于 Joe:为了阐明示例,掩码 00101011 被解释为:如果您从左到右读取掩码,则从位置 3、5、7、8 获取位值,从位 1 到第 8 位...希望这个说明是“清楚的”...

最佳答案

您可以在 MySQL 中使用按位运算符:

http://dev.mysql.com/doc/refman/5.0/en/bit-functions.html

例子:

SELECT (data1 & b'00101011') as output1 FROM ......

快速测试:

SELECT (b'10110110' & b'00101011') as output1

这对您指定的掩码的二进制模式执行按位 AND
有关更多玩具,请参阅上面的链接。

关于Mysql按位运算和过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7637922/

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