MySQL - BIT_XOR() 函数
MySQL BIT_XOR() 函数用于对特定列中的值进行按位异或运算。
以下是 BIT_XOR() 函数的表格表示 -
A | B | Result |
---|---|---|
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 |