sql server 2005 T-SQL &(位与)(Transact-SQL)

对两个整数值执行位与逻辑运算。

主题链接图标 Transact-SQL 语法约定

expression & expression

expression

整数数据类型分类中的任何数据类型或者 bitbinaryvarbinary 数据类型的任何有效表达式expression 被视为位运算的二进制数字。

注意:
在位运算中,只有一个 expression 可以是 binaryvarbinary 数据类型。

如果输入值为 int,则为 int

如果输入值为 smallint,则为 smallint

tinyint 如果输入值是 tinyintbit

& 位运算符将在两个表达式之间执行位与逻辑运算,从两个表达式取对应的位。当且仅当输入表达式中两个位(正在被解析的当前位)的值都为 1 时,结果中的位才被设置为 1;否则,结果中的位被设置为 0。

如果左侧和右侧的表达式具有不同的整数数据类型(例如,左侧的 expression 的数据类型为 smallint,右侧的 expression 的数据类型为 int),则会将较小数据类型的参数转换为较大数据类型。在以下示例中,smallint expression 被转换为 int

以下示例将使用 int 数据类型创建一个表,用于存储值,并将两个值插入到一行中。

USE tempdb;
GO
IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME = 'bitwise')
DROP TABLE bitwise;
GO
CREATE TABLE bitwise
(
a_int_value int NOT NULL,
b_int_value int NOT NULL
);
GO
INSERT bitwise VALUES (170, 75);
GO

下面的查询将在 a_int_valueb_int_value 列之间执行位与运算。

USE tempdb;
GO
SELECT a_int_value & b_int_value
FROM bitwise;
GO

下面是结果集:

----------- 
10

(1 row(s) affected)

170(a_int_valueA)的二进制表示形式是 0000 0000 1010 1010。75(b_int_valueB)的二进制表示形式是 0000 0000 0100 1011。对上述两个值执行“位与”运算将产生二进制结果 0000 0000 0000 1010,即十进制数 10。

(A & B)
0000 0000 1010 1010
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值