Powinno to działać w przypadku kombinacji „Imię Nazwisko” i „Imię Drugie imię Nazwisko”.
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
Oczywiście, jeśli użytkownicy mają spację w jedno z ich imion, z jakiegoś powodu będziesz miał problem z przeanalizowaniem tego, ale podejrzewam, że i tak będzie w przypadku, gdy nie przechowujesz swoich imion w oddzielnych polach.