View Full Version : SQL -- trennen von Vorname Nachname
Ich habe in einem Feld (nennen wir es mal KDNAM)
Vorname und Nachname in einem stehen....
Gehen wir mal davon aus, dass in 90% aller Fälle
die beiden nur durch ein Blank getrennt sind....
Gibt es eine SQL Funktion, mit der ich beide
Namen "sauber" trennen kann - also z.B. nur den
vermeindlichen Nachnamen herausbekomme?
danke
dirk
Ich habe in einem Feld (nennen wir es mal KDNAM)
Vorname und Nachname in einem stehen....
Gehen wir mal davon aus, dass in 90% aller Fälle
die beiden nur durch ein Blank getrennt sind....
Gibt es eine SQL Funktion, mit der ich beide
Namen "sauber" trennen kann - also z.B. nur den
vermeindlichen Nachnamen herausbekomme?
danke
dirk
Eine Funktion gibt es dafür nicht, da musst Du schon etwas tricksen etwa in der Form:
Select KdNam, substr(KDNam, posstr(KDNam, ' ') + 1) as Name,
substr(KDNam, 1, posstr(KDNam, ' ')) as Vorname
from Adresse
Birgitta
Eine Funktion gibt es dafür nicht, da musst Du schon etwas tricksen etwa in der Form:
Select KdNam, substr(KDNam, posstr(KDNam, ' ') + 1) as Name,
substr(KDNam, 1, posstr(KDNam, ' ')) as Vorname
from Adresse
Birgitta
WOW! Super....
Super Birgitta - Danke...
Allerdings funktioniert das nur, wenn auch mindesten 1 Leerzeichen enthalten ist.
Sollte das Feld (warum auch immer) komplett gefüllt sein, dann bricht der SQL ab.
Daher eine kleine Ergänzung:
Select KdNam,
case when posstr(KDNam, ' ') > 0
then substr(KDNam, 1, posstr(KDNam, ' ')-1)
else ' '
end as Vorname
,
case when posstr(KDNam, ' ') > 0 and posstr(KDNam, ' ') < length(KDNam)
then substr(KDNam, posstr(KDNam, ' ') + 1)
else KDNam
end as Name
from Adresse
Also - das ist echt mit das beste was ich bisher so gesehen habe - VIELEN DANK IHR BEIDEN..... DANKE!