説明
この関数は、JSONドキュメントからデータを削除し、結果を返します。
構文
JSON_REMOVE(json_doc, path[, path] ...)
説明
json_doc パラメータはJSONドキュメントを指定するために使用され、path はパスパラメータです。いずれかのパラメータが NULL の場合、NULL を返します。
次の場合はエラーが発生します。
json_docパラメータが有効なJSONドキュメントではありません。pathパラメータが有効なパス式ではありません。pathパラメータが$です。pathパラメータに * または ** ワイルドカードが含まれています。
path パラメータは左から右へと計算されます。つまり、あるパスを評価して生成されたドキュメントが、次のパスを評価するための新しい値となります。
削除対象の要素がドキュメント内に存在しない場合、エラーは発生しません。この場合、パスはドキュメントに影響を与えません。
例
obclient> SET @jn = '["a", ["b", "c"], "d"]';
Query OK, 0 rows affected
obclient> SELECT JSON_REMOVE(@jn, '$[1]');
+--------------------------+
| JSON_REMOVE(@jn, '$[1]') |
+--------------------------+
| ["a", "d"] |
+--------------------------+
1 row in set
obclient> SELECT JSON_REMOVE(@jn, '$[7]');
+--------------------------+
| JSON_REMOVE(@jn, '$[7]') |
+--------------------------+
| ["a", ["b", "c"], "d"] |
+--------------------------+
1 row in set