2012-01-24 4 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 
Смежные вопросы