JSON
DuckDB
JSON_MERGE_PATCH
Menggabungkan dua JSON objects dengan RFC 7396 merge patch semantics. Nilai dari json2 menimpa json1.
Tipe hasil:
JSONDiperbarui: 6 Jan 2026Syntax
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
1 SELECT 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
1 SELECT 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
1 SELECT 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"}}} |