我正在连接三个数据库值,名字,中间名,姓氏。这里是查询-
Select ISNULL(t.FirstName,'')+' '+ISNULL(t.MiddleName,'')+' '+ ISNULL(t.LastName,'') as [UserName],Email from table1 t
我正在获取一些中间名的空值。这就是为什么我在连接后获得更多空间的原因。
Firstlast LastName-在一个位置获得两个空格
我想要中间名为空,那么结果中将只出现一个空格。如果不为空,则名,中间名和姓之间将只有一个空格。我尝试了一些方法来避免这种情况,但是没有任何效果。
您可以使用case when
子句
SELECT ISNULL(t.FirstName,'') +
CASE WHEN t.MiddleName IS NOT NULL THEN
' ' + t.MiddleName + ' '
ELSE
' '
END +
ISNULL(t.LastName,'') as [UserName],
Email
FROM table1 t
示例here