在以下SQL Server查询中做什么是插入符号(^)?
SELECT 1^2, 1^3;
给出了结果:
3 2
在找到SQUARE()函数之前,我遇到了这个。
答案 0 :(得分:19)
插入符号(^)转换为XOR运算符,它是“按位异或”。用简单的英语表示“要么是,要么不是两者”。这是它的作用:
decimal 1 = binary 001 decimal 1 = binary 001
XOR XOR
decimal 2 = binary 010 decimal 3 = binary 011
= =
decimal 3 = binary 011 decimal 2 = binary 010
bitwise operations的MSDN页面上的详细信息。
答案 1 :(得分:4)
3^2
=
000011 (3)
xor
000010 (2)
=
000001 (1)
=
1