大师们帮忙解释下语句sql server

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是什么作用?

慕少森
浏览 650回答 1
1回答

江户川乱折腾

SQL 内按位与运算 &1.负数与正数-4 & 10 :-4转换二进制:1000 010010转换二进制:0000 1010负数需要用补码(原码取反+1得补码,符号位不变),-4补码为:1111 11001111 1100 与 0000 1010 按位与得:0000 1000 = 8所以-4 & 10 为 82.负数与负数-3 & -7:-3转换二进制:1000 0011,补码:1111 1101-7转换二进制:1000 0111,补码:1111 1001按位与得到:1111 1001符号位为负数,需要转换:(补码-1取反码后得原码)1000 0111 = -7所以-3 & -7 为 -73.正数与正数5 & 155 转换二进制:0000 010115转换二进制:0000 1111按位与得到:0000 0101 = 5所以 5 & 15 为 5
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

SQL Server