# XOR (bitwise `XOR`)

Returns the bitwise `XOR` of two numeric expressions

## Syntax

```XOR(expr1, expr2) --> integer

expr1 ::= integer

expr2 ::= integer
```

## Arguments

Parameter

Description

`expr1`, `expr2`

Integer expressions

## Returns

Returns an integer that is the bitwise `XOR` of the inputs.

## Notes

• If either value is NULL, the result is NULL.

## Examples

```master=> SELECT XOR(16, 24);
8

master=> SELECT XOR(101, 110);
11

master=> SELECT XOR(32, 64);
96

master=> SELECT XOR(512, 512);
0
```
```master=> CREATE TABLE bit(b1 int, b2 int, b3 int);
executed

master=> INSERT INTO bit VALUES (1,2,3), (2, 4, 6), (4, 2, 6), (2, 8, 16), (null, null, 64), (5, 3, 1), (6, 1, 0);
executed

SELECT b1, b2, b3, xor(b1, b2), xor(b2, b3), xor(b1, b3) FROM bit;
b1 | b2 | b3 | xor | xor0 | xor1
---+----+----+-----+------+-----
1 |  2 |  3 |   3 |    1 |    2
2 |  4 |  6 |   6 |    2 |    4
4 |  2 |  6 |   6 |    4 |    2
2 |  8 | 16 |  10 |   24 |   18
|    | 64 |     |      |
5 |  3 |  1 |   6 |    2 |    4
6 |  1 |  0 |   7 |    1 |    6
```