Heim > Datenbank > MySQL-Tutorial > Wie teile ich eine einzelne Spalte „Name' in die Spalten „Vorname' und „Nachname' in SQL auf?

Wie teile ich eine einzelne Spalte „Name' in die Spalten „Vorname' und „Nachname' in SQL auf?

Susan Sarandon
Freigeben: 2025-01-13 11:54:43
Original
345 Leute haben es durchsucht

How to Split a Single

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

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!

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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage