Heim >Datenbank >MySQL-Tutorial >Wie extrahiere ich Vor-, Zweit- und Nachnamen aus einer Zeichenfolge in MySQL?
Vor-, Zweit- und Nachnamen aus dem String-Feld in MySQL extrahieren
Das Aufteilen einer Namenszeichenfolge in Vor-, Zweit- und Nachnamen ist eine häufige Aufgabe in der Datenverarbeitung. MySQL stellt hierfür eine Vielzahl von Funktionen zur Verfügung.
Methode 1: Vorname, zweiter Vorname und Nachname trennen
Diese Methode verwendet die Funktionen SUBSTRING_INDEX und LENGTH, um jeden Teil des Namens zu extrahieren:
<code class="language-sql">SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(fullname, ' ', 1), ' ', -1) AS first_name, IF(LENGTH(fullname) - LENGTH(REPLACE(fullname, ' ', '')) > 1, SUBSTRING_INDEX(SUBSTRING_INDEX(fullname, ' ', 2), ' ', -1), NULL) AS middle_name, SUBSTRING_INDEX(SUBSTRING_INDEX(fullname, ' ', 3), ' ', -1) AS last_name FROM registeredusers;</code>
Beschreibung:
SUBSTRING_INDEX(fullname, ' ', 1)
Extrahiert den Teil der Zeichenfolge bis zum ersten Leerzeichen. SUBSTRING_INDEX(..., ' ', -1)
Rufen Sie das letzte Element aus dieser Zeichenfolge ab und geben Sie den Namen an. IF
Prüft, ob die Zeichenfolge mehrere Leerzeichen enthält (was auf das Vorhandensein eines zweiten Vornamens hinweist). SUBSTRING_INDEX(..., ' ', 2)
Isolieren Sie dann den Teil, der den zweiten Vornamen und den Nachnamen enthält. SUBSTRING_INDEX(..., ' ', -1)
Extrahiert den letzten Teil der Zeichenfolge und liefert den Nachnamen. Methode 2: Vor- und Nachname trennen
Wenn der zweite Vorname als Teil des Nachnamens betrachtet wird, können Sie diese Methode verwenden:
<code class="language-sql">SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(fullname, ' ', 1), ' ', -1) AS first_name, TRIM(SUBSTR(fullname, LOCATE(' ', fullname))) AS last_name FROM registeredusers;</code>
Beschreibung:
SUBSTRING_INDEX(fullname, ' ', 1)
Extrahiert den Teil der Zeichenfolge bis zum ersten Leerzeichen und liefert den Namen. LOCATE(' ', fullname)
Finden Sie die Position des ersten Leerzeichens. SUBSTR(fullname, ...)
, beginnend bei LOCATE, ruft den Rest der Zeichenfolge ab, einschließlich des Vor- und Nachnamens. TRIM
Entfernen Sie alle führenden oder nachgestellten Leerzeichen. Das obige ist der detaillierte Inhalt vonWie extrahiere ich Vor-, Zweit- und Nachnamen aus einer Zeichenfolge in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!