Heim >Datenbank >MySQL-Tutorial >Wie extrahiere ich Vor-, Zweit- und Nachnamen aus einer Zeichenfolge in MySQL?

Wie extrahiere ich Vor-, Zweit- und Nachnamen aus einer Zeichenfolge in MySQL?

Susan Sarandon
Susan SarandonOriginal
2025-01-19 15:42:08938Durchsuche

How to Extract First, Middle, and Last Names from a String 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.
  • TRIMEntfernen 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!

Stellungnahme:
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