如果数据库值为空,如何在连接时避免空格?

Nee*_*mar 0 sql-server ssms

我正在连接三个数据库值名字、中间名、姓氏。这是查询 -

Select ISNULL(t.FirstName,'')+' '+ISNULL(t.MiddleName,'')+' '+ ISNULL(t.LastName,'') as [UserName],Email from table1 t
Run Code Online (Sandbox Code Playgroud)

我得到一些中间名的空值。这就是为什么我在连接后得到额外的空格。

名字 姓氏 -- 在一个位置添加两个空格

我希望如果中间名为空,则结果中将只存在一个空格。如果它不为空,则名字、中间名和姓氏之间有一个空格。我尝试了一些方法来避免这种情况,但没有任何效果。

Den*_*kin 5

将空格放在ISNULL函数内:

Select ISNULL(t.FirstName + ' ', '') 
    + ISNULL(t.MiddleName + ' ', '')
    + ISNULL(t.LastName,'') as [UserName]
Run Code Online (Sandbox Code Playgroud)