MySQL BIT_XOR() 函数使用指南
MySQL BIT_XOR()
函数是一个聚合函数,它对所有的非 null 输入值执行"按位异或"运算。
按位异或处理两个长度相同的二进制数,两个相应的二进位只要不同,该位的结果值为 1,否则为 0。
BIT_XOR()
语法
这里是 MySQL BIT_XOR()
的语法:
BIT_XOR(expr)
我们通常在 SQL 中按如下方式使用 BIT_XOR()
函数:
SELECT BIT_XOR(expr), ...
FROM table_name
[WHERE ...];
或者按如下方式结合 GROUP BY
子句使用 BIT_XOR()
函数:
SELECT BIT_XOR(expr), group_expr1, group_expr2, ...
FROM table_name
[WHERE ...]
GROUP BY group_expr1, group_expr2, ...;
参数
expr
- 必需的。一个列名或者表达式。它接受一个整数或者 bit 类型的值。
返回值
MySQL BIT_XOR()
函数返回值的类型与输入参数的类型相同,它返回 对所有的非 null 输入值执行"按位异或"运算的结果。
注意,BIT_XOR()
函数只处理那些非 null 的值。也就是说, null 值会被 BIT_XOR()
函数忽略。
如果所有的输入的值为 null, 该函数将返回 NULL
。
BIT_XOR()
示例
为了演示 MySQL BIT_XOR()
的用法,我们使用以下 UNION
和 SELECT
语句模拟一个表:
SELECT 4 x
UNION
SELECT 5 x
UNION
SELECT 6 x;
+---+
| x |
+---+
| 4 |
| 5 |
| 6 |
+---+
3 rows in set (0.00 sec)
下面的语句对 x
列执行了 BIT_XOR()
运算:
SELECT BIT_XOR(x)
FROM (
SELECT 4 x
UNION
SELECT 5 x
UNION
SELECT 6 x
) t;
+------------+
| BIT_XOR(x) |
+------------+
| 7 |
+------------+
这里, BIT_XOR()
函数对 x
列中的值(4
,5
,6
)进行了 “按位异或” 运算,运算步骤如下:
4 -> 100
5 -> 101
6 -> 110
BIT_XOR() = 111 = 7
所以 BIT_XOR()
函数 返回了 7
。