赞
踩
功能:将二进制数按照位的对应相与,得到一个新的二进制数。1与0为0;1与1为1;0与0为0
二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”。
十进制每次都要除以二,一直除到零为止,能整除的系数就为“0”,不能整除的就为“1”,最后将得到的系数从下往上排列即可。
5/2=2 1 2/2=1 0 1/2=0 1
例如:9&5可写算式如下:
00001001(9的二进制补码)
& 00000101(5的二进制补码)
= 00000001(1的二进制补码)
可见9&5=1
订单表t_order表字段为枚举值,且由二进制位构成,具体如下: WorkSheetType INT DEFAULT 1 comment '运送类型' /* 1.空运出口 2.空运进口 4.海运整柜出口 8.海运整柜进口 16海运拼箱出口 32海运拼箱进口. 64.快递出口 128.快递进口 256.铁运整柜出口 512.铁运整柜进口 1024.铁运拼箱出口 2048.铁运拼箱进口 4096.铁派小单 8192. FBA小单 16384.铁派大单 32768.FBA大单 65,536.空派小单 131,072 空派大单 262,144 铁运大单 524,288 小包提货单 1,048,576 小包装袋单 2,097,152 小包出库单 4,194,304 小包包裹 8388608 陆运 */ 此时 我需要筛选海运的运送类型 包含4.海运整柜出口+8.海运整柜进口+16海运拼箱出口+32海运拼箱进口 筛选表达式如下: select * from t_order where WorkSheetType & (4+8+16+32)>=1
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。