当数据库中要用一个数值型数据来保存多个类目型数值时,可以用二进制的方式来保存,如以下对象
"窖底井":[
{text:"完好",value:1},
{text:"有杂物",value:2},
{text:"出口堵塞",value:4},
{text:"与窖底沟连通异常",value:8}
表示思路:例如当既有杂物,又有出口堵塞时,数据库用2+4=6表示,因此当根据数字判断包含哪些项目时,就需要用到与运算了,运算方法如下(well为属性名):
CASE WHEN BITAND(WELL,1)=1 THEN 1 ELSE 0 END//完好,和1与的结果=1
CASE WHEN BITAND(WELL,2)=2 THEN 1 ELSE 0 END//有杂物,和2与的结果=2
CASE WHEN BITAND(WELL,4)=4 THEN 1 ELSE 0 END//出口堵塞,和4与的结果=4
CASE WHEN BITAND(WELL,8)=8 THEN 1 ELSE 0 END//与窖底沟连通异常,和8与的结果=8