在我的项目中,32位和64位的产品软件架构分别存储在表中,分别作为21位和22位存储在不同的产品中。
我遇到了一个SQL,其中“where”子句提到了体系结构22
'architecture & 2 = 2';和用于架构21
'architecture & 2 != 2';我无法理解上述语句的意义,以及在这个SQL中2=2在做什么?
发布于 2018-01-31 12:53:34
体系结构字段应该存储按位和。
如果architecture = 22的值意味着architecture = 2+4+16
如果architecture is 21的值意味着architecture = 1+4+16
对于按位和考虑的范围: 1,2,4,8,16,32,64.
所以,表达
'architecture & 2 = 2';检查数字2是否存储在体系结构字段中。
如果是architecture is 21,则结果为0。所以,是假的。
如果是architecture = 22,则结果为2.so,为真。
发布于 2018-01-31 12:37:58
https://stackoverflow.com/questions/48542232
复制相似问题