Heim > Datenbank > MySQL-Tutorial > Wie teile ich eine einzelne Namensspalte in SQL in Vor- und Nachnamenspalten auf?

Wie teile ich eine einzelne Namensspalte in SQL in Vor- und Nachnamenspalten auf?

DDD
Freigeben: 2025-01-13 10:23:42
Original
991 Leute haben es durchsucht

How to Split a Single Column of Names into First and Last Name Columns in SQL?

Teilen Sie einen einzelnen Spaltenwert in mehrere Spaltenwerte auf

Frage:

Sie möchten eine einzelne Spalte mit einer Namensliste in mehrere Spalten mit Vor- und Nachnamen umwandeln.

Beispiel:

<code class="language-sql">姓名
------------
abcd efgh
ijk lmn opq
asd j. asdjja
asb (asdfas) asd
asd</code>
Nach dem Login kopieren

Erwartete Ausgabe:

<code class="language-sql">名             姓
----------------------------------
abcd                     efgh
ijk                      lm opq
asd                      asdjja
asb                      asd
asd                      NULL</code>
Nach dem Login kopieren

Lösung:

Die vorherige Methode verarbeitet möglicherweise nicht alle Namensformate korrekt. Hier ist eine verbesserte Lösung mit T-SQL:

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

Dieser SQL-Code prüft zunächst, ob Leerzeichen im Namen vorhanden sind. Falls vorhanden, verwendet es die Funktion SUBSTRING, um den Teil vor dem Leerzeichen als Vornamen und den Teil nach dem Leerzeichen als Nachnamen zu extrahieren. Wenn der Name keine Leerzeichen enthält, wird der gesamte Name als Vorname verwendet und der Nachname ist NULL. Dies ist robuster als die vorherige Lösung und verarbeitet verschiedene Namensformate besser.

Das obige ist der detaillierte Inhalt vonWie teile ich eine einzelne Namensspalte in SQL in Vor- und Nachnamenspalten auf?. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage