に最終更新
JSON_REMOVE
説明
JSON_REMOVE 関数は JSON ドキュメントからデータを削除し、変更後の JSON を返します。
構文
JSON_REMOVE (<json_object>, path[, path] ...)
パラメータ
<json_object>: 削除対象となる JSON 型の式です。<path>: 削除する値のパスを指定する文字列型の式です。複数のパスは左から右へ順に評価され、各パスの評価結果が次のパスの入力になります。
戻り値
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"]}} |
+------------------------------------------------------------------------------------------------------------------------------------------------+