日期:2014-05-16  浏览次数:20462 次

oracle数据库巧用位移字段(options)
options  位置字段(用整数的二进制来表示多种属性的两种状态)

使用场景:当需要表示一个属性的两种状态(1,0),可以用于多个这样的属性

在oracle数据库中,通过bitand来查询options上某一位上的状态

例如:查询第三位上的状态是否是1,bitand(options,4)如果等4表示第三位是1,否则不是。

要验证哪一位通过是用那一位的2的n-1次方与options进行与运算,如果返回值还是2的n-1方,

则说明状态时1,否则是0

如果要修改某一位上的状态,update options=options+2的n-1,即可修改那一位上的状态

bitand(expres1,expres2),返回expres1和expres2进行与运算的结果

options相当于一个可扩展字段,方便,而且不需要修改数据库结构