gpt4 book ai didi

mysql - 按位 MySQL NAND 查询

转载 作者:行者123 更新时间:2023-11-30 00:47:04 28 4
gpt4 key购买 nike

我有一个整数表,我想选择所有在转换为二进制时不同时设置位 1 和 2 的整数。

或者,对于另一个查询,该查询没有同时设置位 3 和 4。

例如,在具有列名称 decvalue 的表中,其值...

47111213182027

第一次选择的结果是 4、12 和 20第二次选择时我会得到 18 分。

我不知道从哪里开始,我尝试过......

foreach($db->query('SELECT   id, lineid, decvalue, dateupdated FROM      trialtable      WHERE decvalue 1!&2 ORDER BY id ASC') as $record)
{
id=$record['id'];
$dateupdated=$record['dateupdated'];
$decvalue=$record['decvalue'];
echo $dateupdated." decvalue<br>";
}

感谢和问候,

格雷厄姆

最佳答案

CREATE TABLE t
(`id` int)
;

INSERT INTO t
(`id`)
VALUES
(4),
(7),
(11),
(12),
(13),
(18),
(20),
(27)
;
<小时/>
select id, bin(id)
from t;

| ID | BIN(ID) |
|----|---------|
| 4 | 100 |
| 7 | 111 |
| 11 | 1011 |
| 12 | 1100 |
| 13 | 1101 |
| 18 | 10010 |
| 20 | 10100 |
| 27 | 11011 |
<小时/>
select 
id,
bin(id)
from t
where not(id & 1) = 1
and not(id & 2) = 2;


| ID | BIN(ID) |
|----|---------|
| 4 | 100 |
| 12 | 1100 |
| 20 | 10100 |
<小时/>
select 
id,
bin(id)
from t
where not(id & 4) = 4
and not(id & 8) = 8;


| ID | BIN(ID) |
|----|---------|
| 18 | 10010 |

关于mysql - 按位 MySQL NAND 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21281689/

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