SQL Server には、優れた文字列操作機能がありません。これは、サブクエリを使用すると簡単です:
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
ただし、すべての人が 3 部構成の名前を持っているわけではないので、注意が必要です。また、他のものには接尾辞 (JR、SR) やその他の合併症があります。