返回第一个字母

0 sql sql-server

如何返回名字和姓氏的首字母。我已经知道substring和,left但是如果它有2个名称且字符数不同,则会给我错误的值。

MJH*_*MJH 5

像这样:

declare @a varchar(20)

set @a = 'John Smith'

select LEFT(@a,1) + substring(@a, charindex(' ', @a)+1 , 1)
Run Code Online (Sandbox Code Playgroud)