説明
JSONドキュメントの最大深さを返します。
構文
JSON_DEPTH(json_doc)
説明
json_doc パラメータは、JSONドキュメントを指定するために使用されます。パラメータが NULL の場合、NULL を返します。
パラメータが有効なJSONドキュメントでない場合、エラーが発生します。
空の配列、空のオブジェクト、またはスカラー値の深さは1です。深さが1の要素のみを含む非空の配列の深さは2であり、深さが1のメンバー値のみを含む非空のオブジェクトの深さも2です。それ以外の場合、JSONドキュメントの深さは2より大きいです。
例
obclient> SELECT JSON_DEPTH('{}'), JSON_DEPTH('[]'), JSON_DEPTH('true');
+------------------+------------------+--------------------+
| JSON_DEPTH('{}') | JSON_DEPTH('[]') | JSON_DEPTH('true') |
+------------------+------------------+--------------------+
| 1 | 1 | 1 |
+------------------+------------------+--------------------+
1 row in set
obclient> SELECT JSON_DEPTH('[101, 202]'), JSON_DEPTH('[[], {}]');
+--------------------------+------------------------+
| JSON_DEPTH('[101, 202]') | JSON_DEPTH('[[], {}]') |
+--------------------------+------------------------+
| 2 | 2 |
+--------------------------+------------------------+
1 row in set
obclient> SELECT JSON_DEPTH('[101, {"a": 202}]');
+---------------------------------+
| JSON_DEPTH('[101, {"a": 202}]') |
+---------------------------------+
| 3 |
+---------------------------------+
1 row in set
obclient> SELECT JSON_DEPTH('{"a":101, "v":"aaa"}');
+------------------------------------+
| JSON_DEPTH('{"a":101, "v":"aaa"}') |
+------------------------------------+
| 2 |
+------------------------------------+
1 row in set