JSON

JSON_MERGE_PATCH

DuckDBDuckDB

Menggabungkan dua JSON objects dengan RFC 7396 merge patch semantics. Nilai dari json2 menimpa json1.

Tipe hasil: JSONDiperbarui: 6 Jan 2026

Syntax

SQL
JSON_MERGE_PATCH(json1, json2)

Parameter

json1JSONwajib

JSON object dasar

json2JSONwajib

JSON object patch yang akan di-merge

Contoh Penggunaan

Merge Dua JSON Objects

SQL
1SELECT JSON_MERGE_PATCH(
2 '{"name": "Budi", "age": 30, "city": "Jakarta"}',
3 '{"age": 31, "email": "budi@email.com"}'
4) as merged;

Merge dengan nilai baru menimpa yang lama.

Hasil
merged
{"name":"Budi","age":31,"city":"Jakarta","email":"budi@email.com"}

Menghapus Key dengan NULL

SQL
1SELECT JSON_MERGE_PATCH(
2 '{"name": "Budi", "age": 30, "temp": "to_remove"}',
3 '{"temp": null, "new_field": "added"}'
4) as result;

NULL value menghapus key dari hasil.

Hasil
result
{"name":"Budi","age":30,"new_field":"added"}

Update Nested Object

SQL
1SELECT JSON_MERGE_PATCH(
2 '{"user": {"name": "Budi", "settings": {"theme": "light", "lang": "id"}}}',
3 '{"user": {"settings": {"theme": "dark"}}}'
4) as updated;

Nested objects di-merge secara recursive.

Hasil
updated
{"user":{"name":"Budi","settings":{"theme":"dark","lang":"id"}}}