blob: f5c87a1206a1c84aa976b032bd3b6e47899353a1 [file] [log] [blame] [view]
---
{
"title": "JSON_REPLACE",
"language": "en"
}
---
## json_replace
### Description
#### Syntax
`VARCHAR json_replace(VARCHAR json_str, VARCHAR path, VARCHAR val[, VARCHAR path, VARCHAR val] ...)`
`json_replace` function updates data in a JSON and returns the result.Returns NULL if `json_str` or `path` is NULL. Otherwise, an error occurs if the `json_str` argument is not a valid JSON or any path argument is not a valid path expression or contains a * wildcard.
The path-value pairs are evaluated left to right.
A path-value pair for an existing path in the json overwrites the existing json value with the new value.
Otherwise, a path-value pair for a nonexisting path in the json is ignored and has no effect.
### example
```
MySQL> select json_replace(null, null, null);
+----------------------------------+
| json_replace(NULL, NULL, 'NULL') |
+----------------------------------+
| NULL |
+----------------------------------+
MySQL> select json_replace('{"k": 1}', "$.k", 2);
+----------------------------------------+
| json_replace('{\"k\": 1}', '$.k', '2') |
+----------------------------------------+
| {"k":2} |
+----------------------------------------+
MySQL> select json_replace('{"k": 1}', "$.j", 2);
+----------------------------------------+
| json_replace('{\"k\": 1}', '$.j', '2') |
+----------------------------------------+
| {"k":1} |
+----------------------------------------+
```
### keywords
JSON, json_replace