BIT_XOR
声明
BIT_XOR(expr)
说明
返回 expr 中所有位的按位异或。
结果类型取决于函数参数值被评估为二进制字符串还是数字。当参数值具有二进制字符串类型,并且参数不是十六进制字面量、Bit 字面量或 NULL 字面量时,就会发生二进制字符串求值。否则会发生数值计算,必要时将参数值转换为无符号 64 位整数。
如果没有匹配的行,BIT_XOR() 返回一个与参数值长度相同的中性值(所有位都设置为 0)。
除非所有值都为 NULL,否则 NULL 值不会影响结果。在这种情况下,结果是一个与参数值具有相同长度的中性值。
示例
SELECT year,month,BIT_COUNT(BIT_XOR(1<<day)) AS days FROM tbl1 GROUP BY year,month;
+------+-------+------+
| year | month | days |
+------+-------+------+
| 2021 | 01 | 3 |
| 2021 | 02 | 1 |
+------+-------+------+
2 rows in set (0.001 sec)