在表中有3列:GivenName, FamilyName, MiddleName
。我有所有的三個值的單個列追加到輸出這樣SQL Select查詢在追加字符串時返回NULL
Select Upper(GivenName) + FamilyName + Upper(MiddleName) as PersonName.....
但是,如果該列中的任意一個值是零,那麼整個輸出爲null。
任何方式,如果我可以檢查是否有任何列爲空之前追加?所以它不會被追加,而其他的不會被追加。
但我不能使用'where GivenName不爲null,FamilyName不爲null'的情況。
我只是不想附加空字符串。 對於防爆:
If GivenName = 'Mark',
FamilyName = 'Joseph',
MiddleName is null
然後輸出應爲:MARK約瑟夫代替NULL尚未所附中間名,因爲它是空。
(但在SQL它的輸出爲NULL試試這個..
declare @FirstName nvarchar(20);
declare @GivenName nvarchar(20);
declare @MiddleName nvarchar(20);
set @FirstName = 'Steve';
set @GivenName = 'Hudson';
set @MiddleName = null;
select Upper(@FirstName) + @GivenName + UPPER(@MiddleName)
=>輸出空 )
[與空SQL服務器字符串連接(http://stackoverflow.com/questions/2916791/sql-server-string-concatenation-with-null) –