这是什么MySQL查询?

时间:2015-08-15 19:03:43

标签: mysql

我在我的应用程序中找到了一个MySQL查询,我真的不明白。它很长,这只是它的一部分,我不明白:

 WHERE ( id & 0xff = 0 ) OR ( ( id >= 3000 ) AND ( id & 0xff != 0xff ) )

这个'0xff'究竟是什么? Threre在此表中没有列'0xff'。

1 个答案:

答案 0 :(得分:2)

0xff二进制值为00000000000000000000000011111111 (under the 32-bit integer)

如果你使用bitwise AND进行0xff,它只会提供last 8 bits中的值,其他所有内容都会消失(因为1 & 0 = 00 & 0 = 0

id & 0xff = 0

这会检查last 8 bits are 00000000;

id & 0xff != 0xff

这会检查last 8 bits != 11111111;