我试图通过长度为9的字段来选择行。它在整理中是utf8_gen。
我的条件是存储值的前n位必须匹配我给定的位掩码。
一个例子:
data:
id | val | bitmask (not actually stored in the db)
----+-----+-----------------------------------------
1 | AB | 0100000101 000010
2 | Ab | 0100000101 100010
bitmask for where-clause:
0100000101 0
expected selected rows:
1 | AB
答案 0 :(得分:1)
我能想到的最好的。这很难看。不能保证它的运行速度有多快。
SELECT HEX(b'0100000101'<< BIT_LENGTH(myCol) - 10) & HEX(myCol) = HEX(b'0100000101'<< BIT_LENGTH(myCol) - 10);
myCol是col。