mysql - 我如何阅读这个 mysql select 查询?

标签 mysql sql

我正在尝试优化这个 mysql 选择查询,但我不知道如何阅读它。想知道是否有人可以根据 WHERE 子句解释此查询的作用。

SELECT `id`, `size`, `download`, `mirror1`, `mirror2`, `mirror3` 
FROM `entries` 
WHERE (`flags` & '3') = '0';

最佳答案

它在标志上执行按位 AND 运算符,请在此处阅读: http://en.wikipedia.org/wiki/Bitwise_AND#AND

二进制中的 3 是 11,因此它正在检查标志的低两位是否未设置(例如,它们为 0),因为根据 where 子句,AND 运算符的结果必须为 0。

示例(假设标志具有以下值):

Ex 1:    11101000 <-- WHERE clause would be true, since lower two bits are 0
Ex 2:    11111010 <-- WHERE clause would be false, since lower two bits are NOT 0

关于mysql - 我如何阅读这个 mysql select 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15453368/

相关文章:

php - 如何定义默认值主义实体?

mysql - 连接表并期望第二个表的结果为空

mysql - Python 3 pymysql 数据库访问 - 连接到数据库出现以下错误

php - 将表名和限制传递给 mysql 存储过程不起作用

sql - 在 SQL 中安全地更新计数(字段)

sql - 多次加入表

mysql - Knex迁移: Transaction query already complete

mysql - 我无法使用 MySQL shell 连接 root@localhost

sql - 从两个表中获取数据,其中该表的数据不常见

mysql - 为什么它没有给我独特的值(value)观