тип bigint с & использованием - PullRequest
1 голос
/ 14 июля 2011

Впервые вижу использование символа '&' в хранимых процедурах sql.

declare  @b bigint
set @b=15
select @b&2

result is 2

Может кто-нибудь объяснить мне, как был результат 2 ??

К вашему сведению:на SQL Server 2005

Ответы [ 2 ]

3 голосов
/ 14 июля 2011

& - оператор Побитовый И .

Результат равен 2, потому что;

select 15     --15 as binary: 1111
       & 2    --2 as binary:  0010
                              ----
  --AND'ing the bits yields;  0010  <- decimal 2
0 голосов
/ 14 июля 2011

Символ & выполняет побитовую логическую операцию И между двумя целочисленными значениями.

Вы пытаетесь добавить 2, в этом случае вы можете использовать:

declare @b bigint set @b=15 select @b + 2
...