Heim >Datenbank >MySQL-Tutorial >Wie kann die JSON_TABLE-Funktion von MySQL JSON-Arrays in Zeilen konvertieren?
Konvertieren von JSON-Arrays in Zeilen in MySQL
In MySQL 5.7 und früheren Versionen kann die Manipulation von JSON eine Herausforderung sein, insbesondere beim Konvertieren von JSON-Arrays in Reihen. In MySQL 8 bietet jedoch die neue Funktion JSON_TABLE eine unkomplizierte Lösung.
Funktion JSON_TABLE
Mit der Funktion JSON_TABLE können Sie ganz einfach Daten aus einem JSON-Dokument und einer JSON-Karte extrahieren es in ein relationales Tabellenschema umwandeln. Um ein JSON-Array in Zeilen zu konvertieren, verwenden Sie die folgende Syntax:
SELECT * FROM JSON_TABLE( <json_array>, "$[*]" COLUMNS( <column_name> <data_type> PATH "$" ) ) <table_alias>;
Beispiel
Stellen Sie sich ein JSON-Array vor:
[5, 6, 7]
Sie kann es mit JSON_TABLE in eine Tabelle konvertieren:
SELECT * FROM JSON_TABLE( '[5, 6, 7]', "$[*]" COLUMNS( Value INT PATH "$" ) ) data;
Die Ausgabe wird sein:
| Value | |---|---| | 5 | | 6 | | 7 |
Allgemeine String-Aufteilung
MySQL verfügt nicht über eine native String-Aufteilungsfunktion. Sie können jedoch JSON_TABLE verwenden, um ein ähnliches Ergebnis zu erzielen:
set @delimited = 'a,b,c'; SELECT * FROM JSON_TABLE( CONCAT('["', REPLACE(@delimited, ',', '", "'), '"]'), "$[*]" COLUMNS( Value varchar(50) PATH "$" ) ) data;
Dadurch wird die durch Trennzeichen getrennte Zeichenfolge in ein JSON-Array aufgeteilt und dann in eine Tabelle umgewandelt.
Das obige ist der detaillierte Inhalt vonWie kann die JSON_TABLE-Funktion von MySQL JSON-Arrays in Zeilen konvertieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!