DROP TABLE #NamesAndAddressesCREATE TABLE #NamesAndAddresses (Fullname VARCHAR(100))INSERT INTO #NamesAndAddresses (Fullname) VALUES ('Mr Simon ASHWORTH')SELECT Title = LEFT(Fullname,space1.pos-1), Forename = SUBSTRING(Fullname,space1.pos+1,space2.pos-space1.pos-1), Surname = SUBSTRING(Fullname,space2.pos+1,8000)FROM #NamesAndAddressesCROSS APPLY (SELECT CHARINDEX(' ', Fullname,1)) space1 (pos)CROSS APPLY (SELECT CHARINDEX(' ', Fullname,space1.pos+1)) space2 (pos)
SELECT Title = LEFT(Fullname,space1.pos-1), Forename = SUBSTRING(Fullname,space1.pos+1,space2.pos-space1.pos-1), Surname = SUBSTRING(Fullname,space2.pos+1,8000)FROM MarksTableOfNamesAndAddressesCROSS APPLY (SELECT CHARINDEX(' ', Fullname,1)) space1 (pos)CROSS APPLY (SELECT CHARINDEX(' ', Fullname,space1.pos+1)) space2 (pos)