Dette burde fungere for både "Fornavn Efternavn" og "Fornavn Mellemnavn Efternavn" kombinationer.
DECLARE @name AS NVARCHAR(50)
SET @name = 'Firstname Middle Lastname'
SELECT SUBSTRING(@name, 1, 1) + --First initial
SUBSTRING(@name, CHARINDEX(' ', @name) + 1, 1) + --Middle/Last initial
CASE WHEN 0 <> CHARINDEX(' ', @name, CHARINDEX(' ', @name) + 1) -- More than two words
THEN SUBSTRING(@name, CHARINDEX(' ', @name, CHARINDEX(' ', @name) + 1) + 1, 1) --Last initial
ELSE '' --Have to add empty string to avoid NULLing entire result
END
Selvfølgelig, hvis brugerne har et mellemrum i et af deres navne af en eller anden grund vil du have et problem med at analysere dette, men jeg formoder, at det ville være tilfældet alligevel, når du ikke gemmer dine navne i separate felter.