最近看同事在折腾sqlite数据库,若干业务字段在sqlite数据库中是按位存储在一个表的字段里的,然后同事用了一个看起来很变态的办法,比如,先找出满足条件的该物理字段的值的集合,再用in 子句,我看来觉得这个搞法很别扭,如果数据库直接支持按位运算就好办了,查了下mssql,MysqL是有的,sqlite居然也是支持的,哈哈哈哈~
参考了: http://blog.chinaunix.net/uid-12664992-id-329608.html
按位AND:& 按位OR:| 按位互斥:^ 按位取反:~ eg:UPDATE [AnalogInput] SET [Object_Type]= (15 & 3)<<2; 得到的结果是12. ================================================= sqlite 有如下二元运算符,根据其优先级从高到低有: || * / % + - << >> & | < <= > >= = == != <> IN AND OR 以下是支持的一元运算符: - + ! ~ NOT