Heim >Datenbank >MySQL-Tutorial >Wie kann ich durch Kommas getrennte Spaltendaten in PostgreSQL in mehrere Spalten aufteilen?

Wie kann ich durch Kommas getrennte Spaltendaten in PostgreSQL in mehrere Spalten aufteilen?

Barbara Streisand
Barbara StreisandOriginal
2025-01-19 02:06:10365Durchsuche

How Can I Split Comma-Separated Column Data into Multiple Columns in PostgreSQL?

Durch Kommas getrennte Spaltendaten in neue Spalten aufteilen

Bei der Datenbankverwaltung ist es häufig erforderlich, Daten in Spalten zu manipulieren, um sie an bestimmte Anforderungen anzupassen. Eine dieser Anforderungen besteht darin, durch Kommas getrennte Werte innerhalb einer Spalte in separate Spalten aufzuteilen.

Betrachten Sie die folgende Spalte mit dem Namen „Spalte“, die durch Kommas getrennte Daten enthält:

a,b,c,d

Um diese Werte aufzuteilen Für einzelne Spalten kann die PostgreSQL-Funktion split_part() eingesetzt werden. So geht's:

SELECT split_part(col, ',', 1) AS col1
     , split_part(col, ',', 2) AS col2
     , split_part(col, ',', 3) AS col3
     , split_part(col, ',', 4) AS col4
FROM   tbl;

In dieser Abfrage laufen die folgenden Schritte ab:

  • split_part() teilt die „col“-Daten basierend auf dem Komma-Trennzeichen.
  • Vier neue Spalten (col1, col2, col3 und col4) werden mit split_part() mit unterschiedlichen Argumenten (1 bis 4) um den entsprechenden durch Kommas getrennten Wert abzurufen.
  • Die Abfrage wird für die Tabelle mit dem Namen „tbl“ ausgeführt.

Dieser Ansatz kann erweitert werden, um Spalten mit mehr oder weniger zu verarbeiten durch Kommas getrennte Werte, indem Sie die Anzahl der erstellten Spalten und die split_part()-Argumente entsprechend anpassen. Alle Spalten, die die verfügbaren Datenelemente überschreiten, werden mit leeren Zeichenfolgen ('') gefüllt.

Das obige ist der detaillierte Inhalt vonWie kann ich durch Kommas getrennte Spaltendaten in PostgreSQL in mehrere Spalten aufteilen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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