select g.Name,g.Price FROM Goods AS g where g.Type<=1 and g.Property&4096=0 and g.BarCode= '16174027'以上语句中 g.Property&4096 我看表中的字段名是Property 在后面加上&4096是什么作用?
1 回答
江户川乱折腾
TA贡献1851条经验 获得超5个赞
SQL 内按位与运算 &
1.负数与正数
-4 & 10 :
-4转换二进制:1000 0100
10转换二进制:0000 1010
负数需要用补码(原码取反+1得补码,符号位不变),-4补码为:1111 1100
1111 1100 与 0000 1010 按位与得:0000 1000 = 8
所以-4 & 10 为 8
2.负数与负数
-3 & -7:
-3转换二进制:1000 0011,补码:1111 1101
-7转换二进制:1000 0111,补码:1111 1001
按位与得到:1111 1001
符号位为负数,需要转换:(补码-1取反码后得原码)1000 0111 = -7
所以-3 & -7 为 -7
3.正数与正数
5 & 15
5 转换二进制:0000 0101
15转换二进制:0000 1111
按位与得到:0000 0101 = 5
所以 5 & 15 为 5
- 1 回答
- 0 关注
- 649 浏览
添加回答
举报
0/150
提交
取消