SQL 与或运算

如果一个字段需要同时包含多个信息点,

最佳的方法是进行位运算,如: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
原文地址:https://www.cnblogs.com/ryanzheng/p/9050817.html