Впервые вижу использование символа '&' в хранимых процедурах sql.
&
declare @b bigint set @b=15 select @b&2 result is 2
Может кто-нибудь объяснить мне, как был результат 2 ??
К вашему сведению:на SQL Server 2005
& - оператор Побитовый И .
Результат равен 2, потому что;
select 15 --15 as binary: 1111 & 2 --2 as binary: 0010 ---- --AND'ing the bits yields; 0010 <- decimal 2
Символ & выполняет побитовую логическую операцию И между двумя целочисленными значениями.
Вы пытаетесь добавить 2, в этом случае вы можете использовать:
declare @b bigint set @b=15 select @b + 2