説明
この関数は、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