ホームページ >データベース >mysql チュートリアル >MySQL の JSON_TABLE 関数はどのようにして JSON 配列を行に変換できますか?
MySQL で JSON 配列を行に変換する
MySQL 5.7 以前のバージョンでは、特に JSON 配列を行に変換する場合、JSON の操作が困難になることがあります。行。ただし、MySQL 8 では、新しい JSON_TABLE 関数が簡単な解決策を提供します。
JSON_TABLE 関数
JSON_TABLE 関数を使用すると、JSON ドキュメントからデータを簡単に抽出してマップできます。それをリレーショナルテーブルスキーマに変換します。 JSON 配列を行に変換するには、次の構文を使用します:
SELECT * FROM JSON_TABLE( <json_array>, "$[*]" COLUMNS( <column_name> <data_type> PATH "$" ) ) <table_alias>;
例
JSON 配列を考えます:
[5, 6, 7]
を使用してテーブルに変換できますJSON_TABLE:
SELECT * FROM JSON_TABLE( '[5, 6, 7]', "$[*]" COLUMNS( Value INT PATH "$" ) ) data;
出力は次のようになります:
| Value | |---|---| | 5 | | 6 | | 7 |
一般的な文字列分割
MySQL にはネイティブの文字列分割関数がありません。ただし、JSON_TABLE を使用して同様の結果を得ることができます。
set @delimited = 'a,b,c'; SELECT * FROM JSON_TABLE( CONCAT('["', REPLACE(@delimited, ',', '", "'), '"]'), "$[*]" COLUMNS( Value varchar(50) PATH "$" ) ) data;
これにより、区切り文字で区切られた文字列が JSON 配列に分割され、テーブルに変換されます。
以上がMySQL の JSON_TABLE 関数はどのようにして JSON 配列を行に変換できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。