2013-05-21 12 views
-1

在SQL Server中,我正在做的是將兩個字段連接在一起。因此,舉例來說,我有這樣的佈局:只顯示一個字符,如果ISNULL有一個有效的條目

Col1   Col2 
Building A Room 101 
Building B Room 2A 
Building C Room 301 
Building D 
Building E Room 200 

我想將它們連接起來,如:

Building A-Room 101 
Building B-Room 2A 
Building C-Room 301 

發生了什麼事,當談到Building D是我得到:

Building D-

這是可怕的。我認爲我可以做ISNULL([Col1] + '-', ''),但是這總是會顯示-字符。如果[Col2]有一個值而不使用CASE語句,是否有方法僅添加-值?或者我用錯誤的方法解決這個問題?

回答

-1

我認爲你的測試需要評估Col2,而不是Col1。試試這個

SELECT [Col1] + ISNULL('-' + [Col2], '') 
+0

當然,因爲你正在放入'-'字符,所以這永遠不會'空' –

+0

你試過了嗎?當我測試時,它按預期工作。連接到非null的空值應該爲null。您可能需要檢查ANSI NULL設置。 – bobs

+0

我確實嘗試過,並且得到了'-' –

相關問題