需求
使用mysql
数据库的项目,使用长整型字段来存储通过二进制位运算组合成的多个值的数据,一个字段值就能保护多种业务含义,通常用于对数据进行标记和枚举声明。
而在mysql
中要查询、更新这样的二进制数据,就需要用到位运算。
实例
查询是否包含某个枚举值/运算值,例如是否包含:
16
// 包含16
SELECT * FROM s_user WHERE mark&16 <> 0
查询是否不包含某个枚举值/运算值,例如是否包含:
16
// 不包含16
SELECT * FROM s_user WHERE mark&16 = 0