MySQL使用位运算

Posted 竹山一叶

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL使用位运算相关的知识,希望对你有一定的参考价值。

通常 我们的数据表中 可能会包含各种状态属性, 例如 blog表中,我们需要有字段表示其是否公开,是否有设置密码,是否被管理员封锁,是否被置顶等等。 也会遇到在后期运维中,策划要求增加新的功能而造成你需要增加新的字段。这样会造成后期的维护困难,数据库增大,索引增大的情况。 这时使用位运算就可以巧妙的解决。 

例如

-- 公开blog 给status进行或运算
UPDATE blog SET status = status | 1;
-- 加密blog 给status进行或运算
UPDATE blog SET status = status | 2;
-- 封锁blog
UPDATE blog SET status = status | 4;
-- 解锁blog
UPDATE blog SET status = status ^ 4;
-- 查询所有被置顶的blog
SELECT * FROM blog WHERE status & 8;



















以上是关于MySQL使用位运算的主要内容,如果未能解决你的问题,请参考以下文章

MySQL按位运算

MYSQL04_算术逻辑位运算符运算符对应的习题

mysql位运算的应用

MySQL运算符,SQL,算术比较逻辑位,优先级,正则表达式,完整详细可收藏

MySQL 运算符

实践出真知!java位运算符号