2016-09-21 5 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のexistanceをテストでき、ヌルでない場合は期間のみを含める

SELECT 
    LTRIM(RTRIM(FirstName + ' ' + IIF(ISNULL(MiddleName,'')<>'',LEFT(MiddleName,1) + '.', ''))) + ' ' + LastName as FullName 
関連する問題