Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

SQL- Rufen Sie die Teilzeichenfolge nach dem ersten Leerzeichen und dem zweiten Leerzeichen in separaten Spalten ab

SQL Server hat keine sehr guten Funktionen zur Bearbeitung von Zeichenfolgen. Einfacher geht das mit Unterabfragen:

select firstname,
       stuff(reverse(stuff(reverse(legalname), 1, len(lastname) + 1, '')),
             1, len(firstname) + 1, '')
from (select legalname,
             left(legalname, charindex(' ', legalname) - 1) as firstname,
             right(legalname, charindex(' ', reverse(legalname)) - 1) as lastname
      . . .
     ) c

Allerdings wäre ich sehr vorsichtig, denn nicht alle Menschen haben dreiteilige Namen. Und andere haben Suffixe (JR, SR) und andere Komplikationen.