MySQL 8.0 リファレンスマニュアル


MySQL 8.0 リファレンスマニュアル  /  ...  /  JSON 値を作成する関数

12.18.2 JSON 値を作成する関数

このセクションにリストされている関数は、コンポーネント要素から JSON 値を構成します。

  • JSON_ARRAY([val[, val] ...])

    値リスト (空の場合もある) を評価し、それらの値を含む JSON 配列を返します。

    mysql> SELECT JSON_ARRAY(1, "abc", NULL, TRUE, CURTIME());
    +---------------------------------------------+
    | JSON_ARRAY(1, "abc", NULL, TRUE, CURTIME()) |
    +---------------------------------------------+
    | [1, "abc", null, true, "11:30:24.000000"]   |
    +---------------------------------------------+
  • JSON_OBJECT([key, val[, key, val] ...])

    キーと値のペアの (空の可能性がある) リストを評価し、それらのペアを含む JSON オブジェクトを返します。 いずれかのキー名が NULL であるか、引数の数が奇数の場合、エラーが発生します。

    mysql> SELECT JSON_OBJECT('id', 87, 'name', 'carrot');
    +-----------------------------------------+
    | JSON_OBJECT('id', 87, 'name', 'carrot') |
    +-----------------------------------------+
    | {"id": 87, "name": "carrot"}            |
    +-----------------------------------------+
  • JSON_QUOTE(string)

    文字列を二重引用符で囲み、内部引用符やその他の文字をエスケープして JSON 値として引用符で囲み、結果を utf8mb4 文字列として返します。 引数が NULL の場合、NULL を返します。

    この関数は通常、JSON ドキュメントに含める有効な JSON 文字列リテラルを生成するために使用されます。

    特定の特殊文字は、表12.23「JSON_UNQUOTE() 特殊文字エスケープシーケンス」 に示されているエスケープシーケンスごとにバックスラッシュでエスケープされます。

    mysql> SELECT JSON_QUOTE('null'), JSON_QUOTE('"null"');
    +--------------------+----------------------+
    | JSON_QUOTE('null') | JSON_QUOTE('"null"') |
    +--------------------+----------------------+
    | "null"             | "\"null\""           |
    +--------------------+----------------------+
    mysql> SELECT JSON_QUOTE('[1, 2, 3]');
    +-------------------------+
    | JSON_QUOTE('[1, 2, 3]') |
    +-------------------------+
    | "[1, 2, 3]"             |
    +-------------------------+

CAST(value AS JSON) を使用して他の型の値を JSON 型にキャストすることで、JSON 値を取得することもできます。詳細は、JSON 値と非 JSON 値の間の変換 を参照してください。

JSON 値を生成する 2 つの集計関数を使用できます。 JSON_ARRAYAGG() は結果セットを単一の JSON 配列として返し、JSON_OBJECTAGG() は結果セットを単一の JSON オブジェクトとして返します。 詳細は、セクション12.20「集計関数」を参照してください。


関連キーワード:  関数, 空間, QUOTE, 作成, リファレンス, 集計, セット, 全文, ジオメトリ, スキーマ