MySQL: Suche nach einem bestimmten Schlüsselwert innerhalb eines Arrays
In MySQL können Sie auf Szenarien stoßen, aus denen Sie einen bestimmten Wert abrufen möchten ein Array von JSON-Objekten. Mit der Funktion JSON_SEARCH können Sie den Pfad zum gewünschten Knoten abrufen. Allerdings kann es eine Herausforderung sein, dies mit der Auswahl eines bestimmten Array-Elements zu kombinieren.
Lösung: JSON_TABLE-Funktion
MySQL 8.0 bietet die JSON_TABLE-Funktion, die ein JSON transformiert Dokument in eine virtuelle abgeleitete Tabelle, ähnlich wie herkömmliche Zeilen und Spalten. Dadurch können Sie Auswahl- und Projektionsvorgänge für die JSON-Daten durchführen.
Betrachten Sie das folgende Beispiel-JSON-Array:
<code class="json">[ {"Race": "Orc", "strength": 14}, {"Race": "Knight", "strength": 7} ]</code>
Um die Stärke des Ritters zu ermitteln, können Sie die folgende Abfrage verwenden :
<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>
Einschränkungen und Überlegungen
Das obige ist der detaillierte Inhalt vonWie finde ich einen bestimmten Wert in einem JSON-Array in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!