我有一个整数表,我想要选择所有这些,如果转换为二进制,没有同时设置1位和2位。
或者,对于另一个没有同时设置位3和4位的查询。
例如,在具有列名下降值的表中,具有值.
7 11 12 13 18 20 27
我会得到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>";
}感谢并致以问候
格雷厄姆
发布于 2014-01-22 11:49:44
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 |https://stackoverflow.com/questions/21281689
复制相似问题