MySQL - BIT_XOR() 函数



MySQL 的 BIT_XOR() 函数用于计算特定列中值的按位异或运算。

以下是 BIT_XOR() 函数的表格表示:

A B 结果
0 1 1
0 0 0
1 1 0

如上表所示,MySQL BIT_XOR() 函数将比较一个位与另一个位。如果这两个位都是 1,则结果将设置为 0。如果这两个位中只有一个是 1,则结果将设置为 1。

让我们考虑一个简单的示例场景,其中我们对整数 4、2 和 7 执行按位异或运算:

4 (bit value 0100)
2 (bit value 0010)
7 (bit value 0111)

此函数将首先将整数值转换为位值,然后执行按位异或运算并将结果作为整数返回。

0100 (integer value 4)
0010 (integer value 2)
----
0110 (Result of bit value 4 and 2)
0111 (integer value 7)
----
0001 (Final Result is 1)

语法

以下是 MySQL BIT_XOR() 函数的语法:

BIT_XOR(expr);

参数

此方法接受一个参数。下面描述了该参数:

  • expr: 执行按位异或运算的数值。

返回值

此函数对输入值执行按位异或运算,并将结果作为整数返回。

示例

假设我们已经创建了一个表并使用以下查询填充了它:

CREATE TABLE CUSTOMERS (
   ID INT AUTO_INCREMENT,
   NAME VARCHAR(20) NOT NULL,
   AGE INT NOT NULL,
   ADDRESS CHAR (25),
   RANKING INT,
   PRIMARY KEY (ID)
);

以下查询将 7 条记录添加到上面创建的表中:

INSERT INTO CUSTOMERS (ID,NAME,AGE,ADDRESS,RANKING) VALUES 
(1, 'Ramesh', 32, 'Ahmedabad', 5 ),
(2, 'Khilan', 25, 'Delhi', 3 ),
(3, 'Kaushik', 23, 'Kota', 6 ),
(4, 'Chaitali', 25, 'Mumbai', 4 ),
(5, 'Hardik', 27, 'Bhopal', 2 ),
(6, 'Komal', 22, 'Hyderabad', 7 ),
(7, 'Muffy', 24, 'Indore', 1 );

要验证是否已插入记录,请执行以下查询:

Select * From CUSTOMERS;

以下是 CUSTOMERS 表:

ID NAME AGE ADDRESS RANKING
1 Ramesh 32 Ahmedabad 5
2 Khilan 25 Delhi 3
3 Kaushik 23 Kota 6
4 Chaitali 25 Mumbai 4
5 Hardik 27 Bhopal 2
6 Komal 22 Hyderabad 7
7 Muffy 24 Indore 1

在这里,我们使用 MySQL BIT_XOR() 函数计算列 RANKING 的值的按位异或运算:

SELECT BIT_XOR(RANKING) From CUSTOMERS;

这将产生以下结果:

BIT_XOR(RANKING)
0

现在,我们计算列 AGE 的值的按位异或运算:

SELECT BIT_XOR(AGE) From CUSTOMERS;

以上查询的输出如下所示:

BIT_XOR(AGE)
34
广告

© . All rights reserved.