结果之间的按位或

Posted

技术标签:

【中文标题】结果之间的按位或【英文标题】:Bitwise OR among results 【发布时间】:2011-11-09 16:08:32 【问题描述】:

我想知道是否可以在 mysql 查询中进行按位或。我有一个类似的查询:

SELECT `value` FROM `table` WHERE `code`='4'

它返回一个值数组,但我想要一个具有所有值的 按位 OR 的唯一值。是否可以从 MySQL 或我应该委托给 php

即上面的查询返回这个值列表:

value
-----
1
5
4
2
7
8

因此我想要这些值的 OR 1 | 5 | 4 | 2 | 7 | 8 = 15

【问题讨论】:

重复或类似:***.com/questions/1397913/… SQL 查询返回“数组”。 【参考方案1】:
SELECT MAX(@r:=@r|value) FROM `table`, (SELECT @r:=0) x

Jim.H 的建议要好得多。谢谢!

SELECT BIT_OR(value) FROM `table`

【讨论】:

聪明,但 eww。 SELECT bit_or(value) FROM table;

以上是关于结果之间的按位或的主要内容,如果未能解决你的问题,请参考以下文章

python中的按位与 +按位或+ 按位反+异或运算 +左移+右移

常量的按位或

Swift学习之位移枚举的按位或运算

Python 运算符Ⅴ

子序列的按位或 Bitwise ORs of Subarrays

Python "按位或"和"按位异或"的区别