Това трябва да работи и за двете комбинации „Собствено име Фамилия“ и „Собствено име Средно име Фамилия“.
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
Разбира се, ако потребителите имат интервал in едно от имената им по някаква причина ще имате проблем с анализирането на това, но подозирам, че така или иначе ще е така, когато не съхранявате имената си в отделни полета.