# JSON_PATCH

> Aplicar un JSON MergePatch a un documento JSON con SQL en StackQL para modificar o fusionar objetos JSON.

Source: https://stackql.io/es/language-spec/functions/json/json_patch

Aplica un JSON MergePatch (RFC-7396) a un documento JSON y lo modifica según las operaciones especificadas. Esta función se usa para agregar, modificar o eliminar elementos dentro de objetos JSON, pero trata los arrays JSON como unidades atómicas.

Consulte también:  
[[`SELECT`]](/language-spec/select) [[` JSON_EXTRACT `]](/language-spec/functions/json/json_extract)

* * * 

## Sintaxis

```sql
SELECT JSON_PATCH(target_json, patch_json) FROM <multipartIdentifier>;
```

## Argumentos

__*target_json*__  
El documento JSON al que se aplica el parche.

__*patch_json*__  
Un documento JSON que describe los cambios que se aplican según el algoritmo MergePatch.

## Valor(es) devuelto(s)
Devuelve el documento JSON modificado después de aplicar el parche.

* * *

## Ejemplos

### MergePatch simple

```sql
-- Example: Simple merge of new elements into the target JSON object
SELECT JSON_PATCH('{"a":1,"b":2}', '{"c":3,"d":4}') AS patched_json;
```

Salida: `{"a":1,"b":2,"c":3,"d":4}`

### Reemplazar un elemento en un array

```sql
-- Example: Replacing an array with a single value in the JSON object
SELECT JSON_PATCH('{"a":[1,2],"b":2}', '{"a":9}') AS patched_json;
```

Salida: `{"a":9,"b":2}`

### Eliminar un elemento con null

```sql
-- Example: Removing an element by setting it to null
SELECT JSON_PATCH('{"a":1,"b":2}', '{"a":9,"b":null,"c":8}') AS patched_json;
```

Salida: `{"a":9,"c":8}`

### MergePatch anidado

```sql
-- Example: Nested merge patch updating sub-keys within a nested JSON object
SELECT JSON_PATCH('{"a":{"x":1,"y":2},"b":3}', '{"a":{"y":9},"c":8}') AS patched_json;
```

Salida: `{"a":{"x":1,"y":9},"b":3,"c":8}`

Esta funcionalidad permite actualizaciones flexibles y dinámicas de JSON almacenado en una base de datos, lo que resulta especialmente útil para aplicaciones que requieren modificaciones condicionales de estructuras de datos.
