Последнее обновление
JSON_REMOVE
Описание
Функция JSON_REMOVE используется для удаления данных из документа JSON и возврата результата.
Синтаксис
JSON_REMOVE (<json_object>, path[, path] ...)
Параметры
<json_object>— выражение типа JSON, из которого необходимо удалить данные.<path>— выражение строкового типа. Параметры пути обрабатываются слева направо. Документ JSON, полученный после обработки одного пути, становится новым значением для обработки следующего пути.
Возвращаемое значение
Nullable(JSON)возвращает объект JSON после удаления данных.
Примеры
- Путь не существует
SELECT JSON_REMOVE('{"a": 1, "b": 2, "c": 3}', '$.d');
+------------------------------------------------+
| JSON_REMOVE('{"a": 1, "b": 2, "c": 3}', '$.d') |
+------------------------------------------------+
| {"a":1,"b":2,"c":3} |
+------------------------------------------------+
- Удаление из объекта JSON значения, на которое указывает
<path>
SELECT JSON_REMOVE('{"Name": "Jack", "Gender": "Male", "Age": 20}', '$.Age');
+-----------------------------------------------------------------------+
| JSON_REMOVE('{"Name": "Jack", "Gender": "Male", "Age": 20}', '$.Age') |
+-----------------------------------------------------------------------+
| {"Name":"Jack","Gender":"Male"} |
+-----------------------------------------------------------------------+
- Указание нескольких путей для удаления данных из нескольких мест в объекте JSON
SELECT JSON_REMOVE('[1, 2, 3, 4, 5]', '$[3]'), JSON_REMOVE('[1, 2, 3, 4, 5]', '$[1]', '$[3]');
+----------------------------------------+------------------------------------------------+
| JSON_REMOVE('[1, 2, 3, 4, 5]', '$[3]') | JSON_REMOVE('[1, 2, 3, 4, 5]', '$[1]', '$[3]') |
+----------------------------------------+------------------------------------------------+
| [1,2,3,5] | [1,3,4] |
+----------------------------------------+------------------------------------------------+
- Объект JSON большего размера
SELECT JSON_REMOVE('{"Person": {"Name": "Jack","Age": 20,"Hobbies": ["Eating", "Sleeping", "Base Jumping"]}}', '$.Person.Age', '$.Person.Hobbies[2]');
+------------------------------------------------------------------------------------------------------------------------------------------------+
| JSON_REMOVE('{"Person": {"Name": "Jack","Age": 20,"Hobbies": ["Eating", "Sleeping", "Base Jumping"]}}', '$.Person.Age', '$.Person.Hobbies[2]') |
+------------------------------------------------------------------------------------------------------------------------------------------------+
| {"Person":{"Name":"Jack","Hobbies":["Eating","Sleeping"]}} |
+------------------------------------------------------------------------------------------------------------------------------------------------+