0

这就是问题:从 Person 表中选择 BusinessEntityID、Title、First Name 的第一个字母、MiddleName 的第一个字母和 Last Name(标签为全名),其中名称的任何部分都不为 NULL。

这是我迄今为止所拥有的:

 Use AdventureWorks2008R2;
    Select BusinessEntityID,SUBSTRING(Title,1,3)+' '+SUBSTRING(FirstName,1,1)+' '+
    SUBSTRING(MiddleName,1,1)+' '+ LastName as 'Full Name'
    From Person.Person
    Where LastName IS NOT NULL;

但是 LastName 列显示 NULL 值

4

2 回答 2

1

如果您要连接在一起的任何列为 NULL,则结果将为 NULL。您还必须过滤掉 Title、FirstName 和 MiddleName。

Use AdventureWorks2008R2;
SELECT BusinessEntityID,SUBSTRING(Title,1,3)+' '+SUBSTRING(FirstName,1,1)+' '+
SUBSTRING(MiddleName,1,1)+' '+ LastName as 'Full Name'
From Person.Person
Where LastName IS NOT NULL AND
      Title IS NOT NULL AND 
      FirstName IS NOT NULL AND
      MiddleName IS NOT NULL;
于 2013-09-23T00:07:41.823 回答
0

您可以执行以下操作:

Use AdventureWorks2008R2;
Select BusinessEntityID,SUBSTRING(Title,1,3)+' '+SUBSTRING(FirstName,1,1)+' '+
SUBSTRING(MiddleName,1,1)+' '+ LastName as 'Full Name'
From Person.Person
Where LastName IS NOT NULL AND LastName != ''
于 2013-09-22T23:53:40.217 回答