如果一个字段需要同时包含多个信息点,
最佳的方法是进行位运算,如:1,2,4,8,16
根据与运算进行判断,如一个字段为7,判断2是否存在,
7&2 = 2为ture时,表示存在,反之亦然,
因为7的二进制为:0111,2的二进制为0010,
7&2 = 0111 & 0010 = 0010 = 2
同理可以推出或运算 7 | 2 = 0111 | 0010 = 0101 = 5
所以或运算相当于将2从7里面删除,与运算可以判断2是否存在与2中,
在sql语句中的使用:
update driver_online set vRemainCapacity= case when (vRemainCapacity>0) and ((vRemainCapacity-0.5) >0) then vRemainCapacity-0.5 else 0 end
sql语句中的if判断为:
case when condition then string else string end