如果一個字段需要同時包含多個信息點,
最佳的方法是進行位運算,如: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