关于查询需要SQL帮助

时间:2014-12-11 08:33:17

标签: sql sql-server tsql select

我是SQL新手。只是想知道下面SQL语句背后的逻辑:

SELECT (1 & 3)

如果我们在SQL语句中的两个数字之间给&|会发生什么?实际的逻辑是什么? 我尝试过一些数字,但却无法理解它背后的逻辑。

1 个答案:

答案 0 :(得分:2)

这是一个按位AND操作。 AND运算的结果包括两个参数中的1。在你的“1& 3”的例子中,二进制1为00000001,二进制为3为00000011.两个值中只有最后一位为1,因此结果为00000001。因此1& 3 = 1。

|是一个按位OR运算,它匹配EITHER值为1的位。因此1 | 3 = 3。

可以找到更详细的解释here