Heim > Datenbank > MySQL-Tutorial > Wie kann die JSON_TABLE-Funktion von MySQL JSON-Arrays in Zeilen konvertieren?

Wie kann die JSON_TABLE-Funktion von MySQL JSON-Arrays in Zeilen konvertieren?

Patricia Arquette
Freigeben: 2024-11-29 05:37:17
Original
845 Leute haben es durchsucht

How Can MySQL's JSON_TABLE Function Convert JSON Arrays into Rows?

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>;
Nach dem Login kopieren

Beispiel

Stellen Sie sich ein JSON-Array vor:

[5, 6, 7]
Nach dem Login kopieren

Sie kann es mit JSON_TABLE in eine Tabelle konvertieren:

SELECT *
FROM JSON_TABLE(
  '[5, 6, 7]',
  "$[*]"
  COLUMNS(
    Value INT PATH "$"
  )
) data;
Nach dem Login kopieren

Die Ausgabe wird sein:

| Value |
|---|---|
| 5 |
| 6 |
| 7 |
Nach dem Login kopieren

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;
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage