如何在mysql列中执行按位异或

如何在mysql列中执行按位异或,mysql,bit,xor,Mysql,Bit,Xor,我有一个表,其中有一列有二进制值 这张桌子看起来像这样 DROP TABLE IF EXISTS tDataSyncUpdate; CREATE TABLE tDataSyncUpdate ( _ID INT AUTO_INCREMENT PRIMARY KEY, Updated_On DATETIME DEFAULT now(), Update_Bit BIGINT DEFAULT 0000000000000000 ); 我必须对Update_Bit列

我有一个表,其中有一列有二进制值

这张桌子看起来像这样

DROP TABLE IF EXISTS tDataSyncUpdate;
CREATE TABLE tDataSyncUpdate
(
  _ID        INT      AUTO_INCREMENT PRIMARY KEY,
  Updated_On DATETIME DEFAULT now(),
  Update_Bit BIGINT   DEFAULT 0000000000000000
);
我必须对Update_Bit列执行按位异或

我在做这样的事情

SELECT lpad(BIT_XOR(Update_Bit), 16, '0') AS Update_Bit FROM tDataSyncUpdate
但这并没有给我预期的结果。我需要在按位异或后得到值

这是我表中的数据

1   2020-01-07 06:26:01 100000000000000
2   2020-01-07 06:27:32 101000000000000
3   2020-01-07 06:28:02 100000000000000
4   2020-01-07 06:28:41 110000000000000
5   2020-01-07 06:30:07 100000000000000
6   2020-01-07 06:31:06 000100000000000
我需要得到这样的值11110000000000

请帮我解决这个问题

我需要这样的东西


但是我不会只有两个值可以比较,我会有多个值。

那么,你得到的值是什么错误的?是的,我得到的是这样的92270486497792表中的值需要是二进制的整数等价物,例如,
16384
而不是
1000000000000
另请参见@Adder此处的每个字节表示一个开关(例如角色访问,前4位表示添加、更新、删除和读取)。如果1有访问权限,则其他人没有访问权限。因此,一个可以有多个角色,所以我必须在这些角色上使用BIT或,以便我可以为用户获得对对象的实际访问。