To by mělo fungovat pro kombinace "Jméno Příjmení" a "Křestní jméno Prostřední příjmení".
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
Samozřejmě, pokud mají uživatelé mezeru v jedno z jejich jmen z nějakého důvodu budete mít problém to rozebrat, ale mám podezření, že by tomu tak bylo tak jako tak, když svá jména neukládáte do samostatných polí.