Что делает курсор (^) в запросе SQL?

Что делает курсор (^) в следующем запросе SQL Server?

SELECT 1^2,  1^3;

который дает результаты:

3   2

Я сталкивался с этим до того, как нашел функцию SQUARE ().

Ответы на вопрос(2)

Решение Вопроса

который является «побитовым исключением или». На простом английском это означает «либо, но не оба». Вот что он делает:

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

Больше информации на странице MSDN дляпобитовые операции.

   3^2
   =
   000011  (3)
   xor
   000010  (2)
   =  
   000001  (1)
   =
   1
 Dave McClelland22 сент. 2010 г., 14:41
Я должен опубликовать ниндзя между вашим первым постом и вашей ревизией. Хорошо выглядит сейчас :)
 Denis Valeev22 сент. 2010 г., 14:37
@Dave McClelland Спасибо за комментарий, я тоже так думал.
 Dave McClelland22 сент. 2010 г., 14:36
Я думаю, что ваш знак плюса вводит в заблуждение - это не добавление, это XORing числа. Ваша установка работает для первого примера 1 ^ 2, но потерпит неудачу во втором примере 1 ^ 3

Ваш ответ на вопрос