0

我有一个简单的问题,

在一些旧代码中,我提出了一个查询,其中包含:

WHERE !(workassignment.flags&1)

我以前从未见过查询中使用的 & 符号。

很清楚查询对我做了什么,但什么是 & 符号以及我为什么要在查询中使用它。

4

2 回答 2

2

& 代表按位与运算(请参阅https://en.wikipedia.org/wiki/Bitwise_operation#AND)。当最右边的位workassignment.flags设置为 1 时,按位和值 1(这是 WHERE 语句使用的)将返回 1,否则将返回 0。

所以1 & 1= 1 和0 & 1= 0。

于 2013-05-16T07:59:08.697 回答
1

这是一个“按位与”测试 - 它正在查看是否workassignment.flags(未)设置了最低有效位。

于 2013-05-16T07:58:15.497 回答