Teilen Sie einen einzelnen Spaltenwert in mehrere Spalten auf
Die Aufgabe besteht darin, die Werte in einer einzelnen Spalte „Name“ in mehrere Spalten aufzuteilen, einschließlich Vorname und Nachname. Sie möchten den zweiten Vornamen weglassen und die resultierenden Daten in den Spalten „Vorname“ und „Nachname“ anzeigen.
Maßgeschneiderte Lösung
Der vorgeschlagene Ansatz ist möglicherweise nicht für die Verarbeitung verschiedener Namensformate geeignet. Eine benutzerdefinierte SQL-Abfrage kann dies jedoch erreichen:
<code class="language-sql">SELECT CASE WHEN name LIKE '% %' THEN LEFT(name, Charindex(' ', name) - 1) ELSE name END AS first_name, CASE WHEN name LIKE '% %' THEN RIGHT(name, LEN(name) - Charindex(' ', REVERSE(name))) ELSE NULL END AS last_name FROM YourTable;</code>
Diese Abfrage verwendet die Charindex-Funktion, um die Position des ersten Leerzeichens in der Spalte „Name“ zu ermitteln. Werden Leerzeichen gefunden, wird der Name in Vor- und Nachnamenteile aufgeteilt. Wenn keine Leerzeichen gefunden werden, wird der Vornamensspalte der gesamte Name und der Nachnamensspalte ein NULL-Wert zugewiesen. Der zweite Parameter der RIGHT
-Funktion wurde korrigiert, um LEN(name)
zur Berechnung der Zeichenfolgenlänge zu verwenden und sicherzustellen, dass der Nachname korrekt extrahiert wird.
Das obige ist der detaillierte Inhalt vonWie teile ich eine einzelne Spalte „Name' in die Spalten „Vorname' und „Nachname' in SQL auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!