SQL Server không có các chức năng thao tác chuỗi rất tốt. Điều này dễ dàng hơn với các truy vấn phụ:
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
Tuy nhiên, tôi sẽ rất cẩn thận, bởi vì không phải tất cả mọi người đều có ba phần tên. Và những người khác có hậu tố (JR, SR) và các biến chứng khác.