SQL-Lösung: Einzelnen Spaltenwert in mehrere Spalten aufteilen
Das Aufteilen eines einzelnen Spaltenwerts in mehrere Spalten ist ein häufiges Szenario in der Datenverarbeitung. Hier ist eine SQL-Lösung:
<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)) END AS last_name FROM YourTable;</code>
Diese Abfrage verwendet die CASE-Anweisung, um zu bestimmen, ob Leerzeichen in der Namensspalte vorhanden sind. Wenn ein Leerzeichen gefunden wird, extrahiert die erste bedingte Anweisung die Zeichen vor dem Leerzeichen und weist sie der Spalte „Vorname“ zu. Weisen Sie Werte ohne Leerzeichen direkt zu.
Für die Spalte „last_name“ wird ein ähnlicher Ansatz verwendet. Um jedoch die Einbeziehung des zweiten Vornamens zu vermeiden, verwenden wir die SUBSTRING-Funktion, um den Teil nach den Leerzeichen direkt zu extrahieren. Dadurch wird sichergestellt, dass der Nachname korrekt extrahiert wird, auch wenn der ursprüngliche Name mehr als zwei Wörter enthält.
Die Abfrageergebnisse enthalten zwei Spalten: Vorname und Nachname. Es ist wichtig zu beachten, dass diese Methode nicht perfekt ist und komplexe Namensformate möglicherweise nicht perfekt verarbeiten kann. Es bietet jedoch einen guten Ausgangspunkt für die Aufteilung eines einzelnen Spaltenwerts in mehrere Spalten mithilfe von SQL.
Das obige ist der detaillierte Inhalt vonWie kann ich mit SQL eine einzelne Namensspalte in Vor- und Nachnamenspalten aufteilen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!