2016-09-21 76 views
-2

我有一个select语句将字符串在一起。问题是我想在中间的首字母之后放一段时间,但当它为空时,句号在名字后面。这里是选择试图学习SQL

select LTrim(RTrim(FirstName + ' ' + Left(MiddleName,1))) + '. ' + LastName as FullName, 

回答

1

只需添加的情况下

select LTrim(RTrim(FirstName + ' ' + case when isnull(MiddleName,'')='' then else Left(MiddleName,1))) + '. ' end + LastName as FullName, 
0

使用Case语句来检查,如果该字符串不是空

select LTrim(RTrim(FirstName + ' ' + Left(MiddleName,1))) + 
case when Left(MiddleName,1) <> '' then '. ' else '' end + LastName as FullName, 
0

您可以测试为MiddleName的存及其只包括你的期限,如果它不为零

SELECT 
    LTRIM(RTRIM(FirstName + ' ' + IIF(ISNULL(MiddleName,'')<>'',LEFT(MiddleName,1) + '.', ''))) + ' ' + LastName as FullName