2013-05-21 9 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 D에 관해서

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

가 무슨 일하는 것은 내가 얻을 수 있습니다 :

Building D-

이것은 끔찍합니다. 나는 ISNULL([Col1] + '-', '')을 할 수 있다고 생각했으나 항상 - 문자를 표시합니다. [Col2]CASE 문을 사용하지 않고 값이있는 경우에만 - 값을 추가 할 수 있습니까? 아니면 잘못된 접근 방식으로이 문제에 대해 이야기할까요?

답변

-1

나는 귀하의 테스트가 이 아니라 Col1이 아닌 것으로 평가할 필요가 있다고 생각합니다. 시도해보십시오

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

확실히 'null'이됩니다. 왜냐하면 '-' 문자를 넣었 기 때문입니다 –

+0

시도해 보셨습니까? 테스트했을 때 예상대로 작동했습니다. Null이 아닌 null로 연결하면 null을 제공해야합니다. ANSI NULL 설정을 확인해야 할 수도 있습니다. – bobs

+0

나는 그것을 시도했고 나는'-'을 얻었다. –