2012-01-24 176 views
3

在我的Employee表中有一個名爲EMPID兩列,EmpNm表的兩列組合到單個列

Empid EmpNm 
001 Null 
002 Ram 
Null Akhaya 
Null Tom 
005 Satya 

兩個結合了我使用的查詢關鍵詞,比如

SELECT (Empid + EmpNm) FROM Employee 

列其結果是像

Null 
002Ram 
Null 
Null 
005Satya 

但我的要求是一樣

001 
002Ram 
Akhaya 
Tom 
005Satya 

從你身邊有沒有任何建議這個查詢?

回答

4

當連接null時,結果爲null。您可以使用coalesce來照顧。 Coalesce將返回第一個非參數null

這將返回一個結果集

select coalesce(Empid, '') + coalesce(EmpNm, '') as Empid 
from Employee 

這將在表更新EMPID列Employee

update Employee 
set EmpID = coalesce(Empid, '') + coalesce(EmpNm, '') 
+0

感謝您的回覆,但並未更新表中,我想要Empid列上的結果。 – samar

+0

你想用值更新你的表嗎?還是你希望結果集中的列名是'Empid'? –

+0

我想要在Empid列中反映這些值,以便我可以刪除第二列。謝謝 – samar

5

試試這個,它會幫助你..

SELECT (ISNULL(Empid,'') +ISNULL(EmpNm,'')) AS name FROM dbo.Employee 
0
SELECT 
    IsNull(Empid, N'') + IsNull(EmpNm, N'') As FullName 
FROM Employee