Umwandeln einer einzelnen Spalte mit mehreren Werten in separate Spalten in SQL
Bei der Arbeit mit SQL-Daten ist häufig eine Umstrukturierung der Spalten erforderlich. Eine häufige Aufgabe besteht darin, eine einzelne Spalte mit mehreren Werten in verschiedene Spalten aufzuteilen. Hier ist eine Methode, um dies zu erreichen:
Die folgende SQL-Abfrage verwendet CASE
-Anweisungen und Zeichenfolgenfunktionen, um eine Spalte mit dem Namen „name“ zu analysieren, die Vor- und Nachnamen enthält:
<code class="language-sql">SELECT CASE WHEN name LIKE '% %' THEN SUBSTRING(name, 1, CHARINDEX(' ', name) - 1) ELSE name END AS first_name, CASE WHEN name LIKE '% %' THEN SUBSTRING(name, CHARINDEX(' ', name) + 1, LEN(name)) ELSE NULL END AS last_name FROM YourTable;</code>
Dieser Ansatz prüft mithilfe von name
, ob die Spalte LIKE '% %'
ein Leerzeichen enthält. Wenn ein Leerzeichen vorhanden ist, extrahieren die Funktionen SUBSTRING
und CHARINDEX
den Text vor und nach dem Leerzeichen in first_name
bzw. last_name
. Wenn kein Leerzeichen gefunden wird, wird das gesamte name
first_name
zugewiesen und last_name
auf NULL
gesetzt.
Diese Lösung bietet einen praktischen Ansatz für viele gängige Szenarien, obwohl komplexere Situationen möglicherweise ausgefeiltere String-Manipulationstechniken erfordern.
Das obige ist der detaillierte Inhalt vonWie kann ich eine einzelne Spalte mit mehreren Werten in separate Spalten in SQL aufteilen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!