MySQL: 配列内の特定のキー値の検索
MySQL では、配列から特定の値を取得するシナリオが発生する場合があります。 JSON オブジェクトの配列。 JSON_SEARCH 関数を使用すると、目的のノードへのパスを取得できます。ただし、これを特定の配列要素の選択と組み合わせるのは難しい場合があります。
解決策: JSON_TABLE 関数
MySQL 8.0 は、JSON を変換する JSON_TABLE 関数を提供します。ドキュメントを、従来の行と列に似た仮想派生テーブルに変換します。これにより、JSON データに対して選択および射影操作を実行できるようになります。
次のサンプル JSON 配列について考えてみましょう:
<code class="json">[ {"Race": "Orc", "strength": 14}, {"Race": "Knight", "strength": 7} ]</code>
ナイトの強さを調べるには、次のクエリを使用できます。 :
<code class="sql">SELECT j.strength, j.race FROM mytable, JSON_TABLE(mycol, '$[*]' COLUMNS ( race VARCHAR(10) PATH '$.Race', strength INT PATH '$.strength' ) ) AS j WHERE j.race = 'Knight';</code>
制限事項と考慮事項
以上がMySQL で JSON 配列内の特定の値を見つけるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。