重要
このページは英語版のページを機械翻訳しています。原文はこちらからご覧ください。

JSON関数

警告

これはまだ実験的機能です。実稼働環境で使用することはお勧めしません

TiDBは、 MySQL 5.7のGAリリースに付属しているほとんどのJSON関数をサポートしています。

JSON値を作成する関数

関数名説明
JSON_ARRAY([val[, val] ...])(おそらく空の)値のリストを評価し、それらの値を含むJSON配列を返します
JSON_OBJECT(key, val[, key, val] ...)キーと値のペアの(おそらく空の)リストを評価し、それらのペアを含むJSONオブジェクトを返します
JSON_QUOTE(string)文字列を引用符付きのJSON値として返します

JSON値を検索する関数

関数名説明
JSON_CONTAINS(target, candidate[, path])特定の候補JSONドキュメントがターゲットJSONドキュメントに含まれているかどうかを1または0で返すことによって示します
JSON_CONTAINS_PATH(json_doc, one_or_all, path[, path] ...)JSONドキュメントに特定のパスにデータが含まれているかどうかを示すために0または1を返します
JSON_EXTRACT(json_doc, path[, path] ...)pathの引数に一致するドキュメントの部分から選択されたJSONドキュメントからデータを返します
->評価パスの後のJSON列から値を返します。 JSON_EXTRACT(doc, path_literal)のエイリアス
->>パスを評価し、結果の引用符を外した後、JSON列から値を返します。 JSON_UNQUOTE(JSON_EXTRACT(doc, path_literal))のエイリアス
JSON_KEYS(json_doc[, path])JSONオブジェクトのトップレベル値からのキーをJSON配列として返します。または、パス引数が指定されている場合は、選択したパスからのトップレベルキーを返します。
JSON_SEARCH(json_doc, one_or_all, search_string)JSONドキュメントで文字列の1つまたはすべての一致を検索します

JSON値を変更する関数

関数名説明
JSON_APPEND(json_doc, path, value)JSON_ARRAY_APPENDのエイリアス
JSON_ARRAY_APPEND(json_doc, path, value)指定されたパスのJSON配列の最後に値を追加します
JSON_ARRAY_INSERT(json_doc, path, val[, path, val] ...)jsonドキュメントに配列を挿入し、変更されたドキュメントを返します
JSON_INSERT(json_doc, path, val[, path, val] ...)JSONドキュメントにデータを挿入し、結果を返します
JSON_MERGE(json_doc, json_doc[, json_doc] ...)JSON_MERGE_PRESERVEの非推奨のエイリアス
JSON_MERGE_PATCH(json_doc, json_doc[, json_doc] ...)JSONドキュメントをマージする
JSON_MERGE_PRESERVE(json_doc, json_doc[, json_doc] ...)2つ以上のJSONドキュメントをマージし、マージされた結果を返します
JSON_REMOVE(json_doc, path[, path] ...)JSONドキュメントからデータを削除し、結果を返します
JSON_REPLACE(json_doc, path, val[, path, val] ...)JSONドキュメントの既存の値を置き換えて、結果を返します
JSON_SET(json_doc, path, val[, path, val] ...)JSONドキュメントにデータを挿入または更新し、結果を返します
JSON_UNQUOTE(json_val)JSON値の引用符を外し、結果を文字列として返します
JSON_ARRAY_APPEND(json_doc, path, val[, path, val] ...)JSONドキュメント内の指定された配列の最後に値を追加し、結果を返します
JSON_ARRAY_INSERT(json_doc, path, val[, path, val] ...)JSONドキュメントの指定された場所に値を挿入し、結果を返します

JSON値属性を返す関数

関数名説明
JSON_DEPTH(json_doc)JSONドキュメントの最大深度を返します
JSON_LENGTH(json_doc[, path])JSONドキュメントの長さを返します。パス引数が指定されている場合は、パス内の値の長さを返します。
JSON_TYPE(json_val)JSON値のタイプを示す文字列を返します
JSON_VALID(json_doc)json_docが有効なJSONであるかどうかを確認します。 json型に変換する前に列をチェックするのに便利です。

ユーティリティ関数

関数名説明
JSON_PRETTY(json_doc)JSONドキュメントのきれいなフォーマット
JSON_STORAGE_SIZE(json_doc)json値を格納するために必要なバイトのおおよそのサイズを返します。サイズは圧縮を使用するTiKVを考慮していないため、この関数の出力はMySQLと厳密に互換性がありません。

集計関数

関数名説明
JSON_ARRAYAGG(key)キーの集約を提供します。
JSON_OBJECTAGG(key, value)特定のキーの値の集計を提供します。

も参照してください