SQL:合并“名字”和“姓氏”列,但如果为空,则更改为';未提供名称';

SQL:合并“名字”和“姓氏”列,但如果为空,则更改为';未提供名称';,sql,tsql,Sql,Tsql,我目前正在构建一个简单视图,需要将名字和姓氏列组合起来,以创建一个新的客户列。如果未提供名和姓,我希望将此新组合值更改为“未提供名称” 目前我使用一个简单的select语句: LastName+,“+FirstName作为客户 这似乎可以很好地梳理数据,但如果数据不存在,它将返回,'。我如何更改它,使其返回“未提供名称” SELECT Customer = CASE WHEN FirstName IS NULL AND LastName IS NULL

我目前正在构建一个简单视图,需要将
名字
姓氏
列组合起来,以创建一个新的
客户
列。如果未提供
,我希望将此新组合值更改为“未提供名称”

目前我使用一个简单的select语句:
LastName+,“+FirstName作为客户

这似乎可以很好地梳理数据,但如果数据不存在,它将返回
,'
。我如何更改它,使其返回“未提供名称”

SELECT Customer = CASE WHEN FirstName IS NULL AND LastName IS NULL
                       THEN 'Name Not Provided'
                       WHEN FirstName IS NULL AND LastName IS NOT NULL
                       THEN LastName
                       WHEN FirstName IS NOT NULL AND LastName IS NULL
                       THEN FirstName
                  ELSE LastName + ', ' + FirstName END
FROM dbo.TableName
Microsoft的函数用于指定如何处理空值。 如果FirstName为NULL,以下查询将返回默认文本

SELECT (ISNULL(FirstName,'First name is null')) AS Customer

可能重复的副本根据您的数据库设置,如果firstname为null,last name不为null,则解决方案可能返回null,反之亦然
SELECT (ISNULL(FirstName,'First name is null')) AS Customer