【发布时间】:2011-10-05 10:43:22
【问题描述】:
我第一次看到在 sql 存储过程中使用 '&' 符号。
declare @b bigint
set @b=15
select @b&2
result is 2
谁能解释一下结果是2吗??
仅供参考:它在 SQL Server 2005 上
【问题讨论】:
标签: sql-server-2005 tsql stored-procedures bigint
我第一次看到在 sql 存储过程中使用 '&' 符号。
declare @b bigint
set @b=15
select @b&2
result is 2
谁能解释一下结果是2吗??
仅供参考:它在 SQL Server 2005 上
【问题讨论】:
标签: sql-server-2005 tsql stored-procedures bigint
& 是 Bitwise And 运算符。
结果是 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
【讨论】: