2016-09-21 80 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