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


BSON_MERGE(<obj1>, <obj2>)


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

Return Type

A BSON object.


  • 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 ({}).


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

SELECT BSON_MERGE(NULL, '{"a":1, "b":2}':>BSON):>JSON AS Result;
| Result        |
| {"a":1,"b":2} |
SELECT BSON_MERGE('{"a":1,"b":{"c":1}}':>BSON, '{"c":2,"d":{"e":1}}':>BSON):>JSON AS Result;
| Result                                |
| {"a":1,"b":{"c":1},"c":2,"d":{"e":1}} |
SELECT BSON_MERGE('{"a":2, "b":2}':>BSON, '{"a": 3, "b":null, "c":3}':>BSON):>JSON AS Result;
| Result                 |
| {"a":3,"b":null,"c":3} |

Last modified: April 2, 2024

Was this article helpful?