BITWISE_XOR_AGG

对于输入的value,按照BIT XOR操作计算聚合值。

命令格式

BIGINT BITWISE_XOR_AGG([DISTINCT] BIGINT|INT|SMALLINT|TINYINT value)

参数说明

  • DISTINCT:选填。如果指定DISTINCT,每个不同值仅在结果中聚合一次。

  • value:必填。BIGINT、INT、SMALLINT、TINYINT类型的值,NULL值不参与计算。

返回值说明

返回BIGINT类型,返回对所有输入值执行BIT XOR运算的结果。

  • value值非BIGINT、INT、SMALLINTTINYINT类型时,返回报错。

  • value值为NULL时,返回NULL。

使用示例

-- 示例一 
SELECT id, BITWISE_XOR_AGG(v) FROM 
  VALUES (1L, 2L), (1L, 1L), (2L, NULL), (1L, NULL) t(id, v) GROUP BY id;
-- 返回结果
+------------+------------+
| id         | _c1        | 
+------------+------------+
| 1          | 3          | 
| 2          | NULL       | 
+------------+------------+

-- 示例二 
SELECT id, BITWISE_XOR_AGG(DISTINCT v) FROM   
  VALUES (1L, 2L), (1L, 1L), (1L, 1L), (2L, NULL), (1L, NULL) t(id, v) GROUP BY id;
-- 返回结果
+------------+------------+
| id         | _c1        | 
+------------+------------+
| 1          | 3          | 
| 2          | NULL       | 
+------------+------------+