对两个整数值执行“位异或”运算。
参数
-
是整数数据类型类别的任一数据类型、bit、binary 或 varbinary 数据类型的任何有效表达式。expression 被视为用于进行位运算的二进制数。
注意: 在位运算中,只有一个 expression 可以为 binary 或 varbinary 数据类型。
expression
备注
示例
以下示例创建一个表,其中使用 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_value 和 b_int_value 列执行位异或运算。
USE tempdb;
GO
SELECT a_int_value ^ b_int_value
FROM bitwise;
GO
下面是结果集:
-----------
225
(1 row(s) affected)
170(a_int_value 或 A)的二进制表示形式是 0000 0000 1010 1010。75(b_int_value 或 B)的二进制表示形式是 0000 0000 0100 1011。在这两个值之间执行位异或运算所产生的二进制结果是 0000 0000 1110 0001,即十进制数 225。
(A ^ B)
0000 0000 1010 1010
0000 0000 0100 1011
-------------------