[MySQL] Inhalt auslesen und in 2 neue Spalten aufteilen

splat

Erfahrenes Mitglied
Hi,

ich bin gerade am basteln eines Scripts, um einen Wert (Vor- & Nachname) auszulesen, und diesen dann in 2 neue Spalten, "vorname" und "nachname" zu schreiben.

Der Nachname ist jeweils mit einem Komma vom Vornamen getrennt:
"Nachname, Vorname" bzw "Nachname, Vorname zweiterVorname"

Am geschicktesten wäre es ja, das ganze durch das Komma trennen zu lassen, aber wie macht man so etwas? Gibt es da etwas?

Gruß,
Marc
 
Ich habe mal kurz in Manual geschaut und wenn du es nicht über eine Programmiersprache machen möchtest sondern direckt in MySQL erscheint mir die Sinnigste Methode es mit dieser Funktion hier:

SUBSTRING_INDEX(zeichenkette,begrenzer,zaehler)

Gibt die Teilzeichenfolge von Zeichenkette zeichenkette vor zaehler Vorkommen des Begrenzers begrenzer zurück. Wenn zaehler positiv ist, wird alle links vom letzten Begrenzer zurückgegeben (von links gezählt). Wenn zaehler negativ ist, wird alles rechts vom letzten Begrenzer (von rechts gezählt) zurückgegeben:

SQL:
mysql> select SUBSTRING_INDEX('www.mysql.com', '.', 2);
        -> 'www.mysql'
mysql> select SUBSTRING_INDEX('www.mysql.com', '.', -2);
        -> 'mysql.com'

Mit einem Parameter 1 bzw -1 würdest du vorname / Nachname bekommen. Wenn man davon ausgeht das immer nur ein komma in dem Feld vorkommt.
 
Hi,

danke für die schnelle Antwort!
SUBSTRING_INDEX ist genau das, was ich gesucht habe! :)

Nur fehlt mir das nötige Wissen wenn ich das direkt in MySQL mache, was den Rest angeht... auslesen, eintragen, usw... :(

Gruß
 
Zurück