# BSON\_MERGE

Merges two BSON objects. `BSON_MERGE` performs the union of keys in both objects.

## Syntax

```
BSON_MERGE(<obj1>, <obj2>)
```

## Argument

`<obj1>`, `<obj2>`: A BSON object or an expression that evaluates to a valid BSON object.

## Return Type

A BSON object.

## Remarks

* If the BSON objects include fields with identical names, the resulting object has the value corresponding to the last merged object for each respective field.
* If the input is SQL `NULL`, BSON `null` or BSON `undefined`, it is considered equivalent to an empty object `({})`.

## Examples

**Note**: The following examples explicitly cast string to BSON for clarity. Similarly, the output is cast to JSON.

```sql
SELECT BSON_MERGE(NULL, '{"a":1, "b":2}':>BSON):>JSON AS Result;

```

```output

+---------------+
| Result        |
+---------------+
| {"a":1,"b":2} |
+---------------+
```

```sql
SELECT BSON_MERGE('{"a":1,"b":{"c":1}}':>BSON, '{"c":2,"d":{"e":1}}':>BSON):>JSON AS Result;

```

```output

+---------------------------------------+
| Result                                |
+---------------------------------------+
| {"a":1,"b":{"c":1},"c":2,"d":{"e":1}} |
+---------------------------------------+
```

```sql
SELECT BSON_MERGE('{"a":2, "b":2}':>BSON, '{"a": 3, "b":null, "c":3}':>BSON):>JSON AS Result;

```

```output

+------------------------+
| Result                 |
+------------------------+
| {"a":3,"b":null,"c":3} |
+------------------------+
```

***

Modified at: April 2, 2024

Source: [/db/v9.1/reference/sql-reference/bson-functions/bson-merge/](https://docs.singlestore.com/db/v9.1/reference/sql-reference/bson-functions/bson-merge/)

(An index of the documentation is available at /llms.txt)
