# xor — Haybarn WASM 1.5.5-rc3

Bitwise XOR

- Reference: /products/haybarn/functions/releases/haybarn-1.5.5-rc3/xor/
- JSON: /products/haybarn/functions/api/v1/haybarn-1.5.5-rc3/functions/xor.json
- Snapshot ID: haybarn-1.5.5-rc3
- Engine: haybarn v1.5.6-dev149
- Source ID: 105edd31b5
- Binary SHA-256: 426638bc374fcc542fea93b251f885bfb7d221c68fcc0a5a81cc565d7e6ca180
- Captured: 2026-09-06T00:23:30.515Z
- Source: https://www.npmjs.com/package/@haybarn/haybarn-wasm/v/1.5.5-rc3
- Loaded extensions: core_functions, icu, json, parquet

## Interpretation

- Choose a snapshot matching the target engine and build. The default is captured from the published Haybarn WASM package used by the browser playground. Historical native snapshots are also available.
- Availability is an observation in the recorded build and extension profile, not a guarantee of support in every installation or in WASM.
- Types and descriptions are declarations from duckdb_functions(). Binding can specialize result types. Null means not supplied by the catalog; do not invent defaults, optionality, argument mode, or table output columns.
- Raw parameter arrays preserve catalog order for scalar/aggregate/macro functions. Raw table arguments are alphabetical. Use callingConvention for engine-confirmed positional order and named arguments; null modes are unrecorded. Named does not mean optional. Macro defaults and special named variadic behavior are not supplied by duckdb_functions().
- Catalog examples are source material and may require data or extensions. runnableExamples contains separately verified SQL for the pinned WASM package; sample-data adaptations and guide examples are labeled separately.
- Guide annotations and recipes are separate editorial content. The browser runner always uses Haybarn WASM 1.5.5-rc3, independently of the documentation snapshot.
- All URLs beginning with / are relative to the origin hosting this document. Exports require no JavaScript, cookies, API key, or browser engine.

## Overloads

### overload-f5529ddd29235a81

Kind: scalar. Parameter order: catalog-order.

```text
xor(left: BIGINT, right: BIGINT) → BIGINT
```

Link: /products/haybarn/functions/releases/haybarn-1.5.5-rc3/xor/#overload-f5529ddd29235a81

| Argument | Catalog type | Calling mode |
| --- | --- | --- |
| left | BIGINT | not recorded |
| right | BIGINT | not recorded |

Declared return type: BIGINT. Variadic argument type: none declared.
Stability: CONSISTENT. Declared side effects: false.

### overload-3211d58686f4eda9

Kind: scalar. Parameter order: catalog-order.

```text
xor(left: BIT, right: BIT) → BIT
```

Link: /products/haybarn/functions/releases/haybarn-1.5.5-rc3/xor/#overload-3211d58686f4eda9

| Argument | Catalog type | Calling mode |
| --- | --- | --- |
| left | BIT | not recorded |
| right | BIT | not recorded |

Declared return type: BIT. Variadic argument type: none declared.
Stability: CONSISTENT. Declared side effects: false.

### overload-1453e21ba89bdfc6

Kind: scalar. Parameter order: catalog-order.

```text
xor(left: HUGEINT, right: HUGEINT) → HUGEINT
```

Link: /products/haybarn/functions/releases/haybarn-1.5.5-rc3/xor/#overload-1453e21ba89bdfc6

| Argument | Catalog type | Calling mode |
| --- | --- | --- |
| left | HUGEINT | not recorded |
| right | HUGEINT | not recorded |

Declared return type: HUGEINT. Variadic argument type: none declared.
Stability: CONSISTENT. Declared side effects: false.

### overload-5cb6bfd58628b6ff

Kind: scalar. Parameter order: catalog-order.

```text
xor(left: INTEGER, right: INTEGER) → INTEGER
```

Link: /products/haybarn/functions/releases/haybarn-1.5.5-rc3/xor/#overload-5cb6bfd58628b6ff

| Argument | Catalog type | Calling mode |
| --- | --- | --- |
| left | INTEGER | not recorded |
| right | INTEGER | not recorded |

Declared return type: INTEGER. Variadic argument type: none declared.
Stability: CONSISTENT. Declared side effects: false.

### overload-ffa8cf3ebfdce894

Kind: scalar. Parameter order: catalog-order.

```text
xor(left: SMALLINT, right: SMALLINT) → SMALLINT
```

Link: /products/haybarn/functions/releases/haybarn-1.5.5-rc3/xor/#overload-ffa8cf3ebfdce894

| Argument | Catalog type | Calling mode |
| --- | --- | --- |
| left | SMALLINT | not recorded |
| right | SMALLINT | not recorded |

Declared return type: SMALLINT. Variadic argument type: none declared.
Stability: CONSISTENT. Declared side effects: false.

### overload-6d1f7d996bd8156c

Kind: scalar. Parameter order: catalog-order.

```text
xor(left: TINYINT, right: TINYINT) → TINYINT
```

Link: /products/haybarn/functions/releases/haybarn-1.5.5-rc3/xor/#overload-6d1f7d996bd8156c

| Argument | Catalog type | Calling mode |
| --- | --- | --- |
| left | TINYINT | not recorded |
| right | TINYINT | not recorded |

Declared return type: TINYINT. Variadic argument type: none declared.
Stability: CONSISTENT. Declared side effects: false.

### overload-587a40d38bc49217

Kind: scalar. Parameter order: catalog-order.

```text
xor(left: UBIGINT, right: UBIGINT) → UBIGINT
```

Link: /products/haybarn/functions/releases/haybarn-1.5.5-rc3/xor/#overload-587a40d38bc49217

| Argument | Catalog type | Calling mode |
| --- | --- | --- |
| left | UBIGINT | not recorded |
| right | UBIGINT | not recorded |

Declared return type: UBIGINT. Variadic argument type: none declared.
Stability: CONSISTENT. Declared side effects: false.

### overload-e7ae63ad67c62bc5

Kind: scalar. Parameter order: catalog-order.

```text
xor(left: UHUGEINT, right: UHUGEINT) → UHUGEINT
```

Link: /products/haybarn/functions/releases/haybarn-1.5.5-rc3/xor/#overload-e7ae63ad67c62bc5

| Argument | Catalog type | Calling mode |
| --- | --- | --- |
| left | UHUGEINT | not recorded |
| right | UHUGEINT | not recorded |

Declared return type: UHUGEINT. Variadic argument type: none declared.
Stability: CONSISTENT. Declared side effects: false.

### overload-31190721b848b4be

Kind: scalar. Parameter order: catalog-order.

```text
xor(left: UINTEGER, right: UINTEGER) → UINTEGER
```

Link: /products/haybarn/functions/releases/haybarn-1.5.5-rc3/xor/#overload-31190721b848b4be

| Argument | Catalog type | Calling mode |
| --- | --- | --- |
| left | UINTEGER | not recorded |
| right | UINTEGER | not recorded |

Declared return type: UINTEGER. Variadic argument type: none declared.
Stability: CONSISTENT. Declared side effects: false.

### overload-589626c03db56e46

Kind: scalar. Parameter order: catalog-order.

```text
xor(left: USMALLINT, right: USMALLINT) → USMALLINT
```

Link: /products/haybarn/functions/releases/haybarn-1.5.5-rc3/xor/#overload-589626c03db56e46

| Argument | Catalog type | Calling mode |
| --- | --- | --- |
| left | USMALLINT | not recorded |
| right | USMALLINT | not recorded |

Declared return type: USMALLINT. Variadic argument type: none declared.
Stability: CONSISTENT. Declared side effects: false.

### overload-7c5e22bfbf460e81

Kind: scalar. Parameter order: catalog-order.

```text
xor(left: UTINYINT, right: UTINYINT) → UTINYINT
```

Link: /products/haybarn/functions/releases/haybarn-1.5.5-rc3/xor/#overload-7c5e22bfbf460e81

| Argument | Catalog type | Calling mode |
| --- | --- | --- |
| left | UTINYINT | not recorded |
| right | UTINYINT | not recorded |

Declared return type: UTINYINT. Variadic argument type: none declared.
Stability: CONSISTENT. Declared side effects: false.


## Guide recipes

No guide recipes.

## Engine catalog examples

Source examples may require additional data or extensions. Expressions are wrapped in SELECT; execution verification is not recorded.

Reported for: overload-f5529ddd29235a81, overload-3211d58686f4eda9, overload-1453e21ba89bdfc6, overload-5cb6bfd58628b6ff, overload-ffa8cf3ebfdce894, overload-6d1f7d996bd8156c, overload-587a40d38bc49217, overload-e7ae63ad67c62bc5, overload-31190721b848b4be, overload-589626c03db56e46, overload-7c5e22bfbf460e81

```sql
SELECT xor(17, 5);
```

## Runnable examples

Executed successfully in Haybarn WASM 1.5.5-rc3. Sample data and guide examples are separate from the original catalog.

```sql
SELECT xor(17, 5);
```

## Additional DuckDB documentation

- [Bitstring Functions](https://duckdb.org/docs/current/sql/functions/bitstring#bitstring-operators)
- [Numeric Functions](https://duckdb.org/docs/current/sql/functions/numeric#xorx-y)

## In other engines

### PostgreSQL



PostgreSQL:

```sql
a # b
```

Haybarn / DuckDB:

```sql
XOR(a, b)
```

Translation from [SQLGlot](https://github.com/tobymao/sqlglot/blob/3086608e6fd4c41c02dfba47171608d2b193fce2/tests/dialects/test_duckdb.py#L969).

### BigQuery



BigQuery:

```sql
a ^ b
```

Haybarn / DuckDB:

```sql
XOR(a, b)
```

Translation from [SQLGlot](https://github.com/tobymao/sqlglot/blob/3086608e6fd4c41c02dfba47171608d2b193fce2/tests/dialects/test_duckdb.py#L969).

### Exasol: bit_xor()



Exasol:

```sql
SELECT BIT_XOR(x, 1)
```

Haybarn / DuckDB:

```sql
SELECT XOR(x, 1)
```

Translation from [SQLGlot](https://github.com/tobymao/sqlglot/blob/3086608e6fd4c41c02dfba47171608d2b193fce2/tests/dialects/test_exasol.py#L185).

### Presto: bitwise_xor()



Presto:

```sql
BITWISE_XOR(a, b)
```

Haybarn / DuckDB:

```sql
XOR(a, b)
```

Translation from [SQLGlot](https://github.com/tobymao/sqlglot/blob/3086608e6fd4c41c02dfba47171608d2b193fce2/tests/dialects/test_duckdb.py#L969).

## Observed availability

| Snapshot | Observed | Overloads | JSON |
| --- | --- | --- | --- |
| haybarn-1.5.5-rc3 | present | 11 | [reference](/products/haybarn/functions/api/v1/haybarn-1.5.5-rc3/functions/xor.json) |
| duckdb-1.5.5 | present | 11 | [reference](/products/haybarn/functions/api/v1/duckdb-1.5.5/functions/xor.json) |
| duckdb-1.4.4 | present | 11 | [reference](/products/haybarn/functions/api/v1/duckdb-1.4.4/functions/xor.json) |
| duckdb-1.3.2 | present | 11 | [reference](/products/haybarn/functions/api/v1/duckdb-1.3.2/functions/xor.json) |

Engine catalog documentation is derived from MIT-licensed Haybarn and DuckDB. [Notices](/third-party-notices.txt).
