2017-01-20 9 views
0

SQL Server 결과 집합의 데이터를 복사하여 Excel 스프레드 시트에 붙여 넣습니다. NULL 값은 Excel에서 공백으로 표시해야하지만 기본 동작은 "NULL"이라는 단어를 표시하는 것입니다. 텍스트 필드의 경우 원래 쿼리에 ISNULL ([field], '')을 적용 할 수 있습니다. 하지만 숫자 필드는 어떻게됩니까? 나는 그것이 0이되기를 원하지 않는다. 그것은 비어 있어야한다. 쿼리 기반 솔루션이 있습니까? 나는 찾기와 바꾸기를 잊고있다.SQL Server에서 Excel로 데이터를 복사하려면 공백 대신 "NULL"을 입력하십시오.

+0

모르겠다. 당신은 귀하의 질의를 'numberCol = isnull (convert (varchar (32), numberCol),' ')'과 같은 식으로 varchar로 변환 할 수 있지만 꽤 바보입니다. – SqlZim

+1

기본 "비헤이비어"는 Excel에 없습니다. SSMS가 출력에 NULL을 표시하는 방법입니다. 그리고 Excel에서 숫자 열에 대해 동일한 ISNULL 논리를 사용할 수 있습니다. 데이터는 Excel에서 강력하게 형식화되지 않으므로 (모든 것이 실제로는 문자열 임) 빈 문자열을 표시 할 수 있습니다. 계산을 위해 Excel은 빈 문자열을 0으로 처리합니다. –

+0

SqlZim, 나는 당신의 슈퍼 바보 같은 함수 중첩을 사용하여 끝내게되었습니다. 곧,이 모든 과정을 바꿀 것입니다. 당신의 도움에 감사드립니다. – Rhys

답변

0

이것은 더 많은 논평이지만 낮은 담당자에게 답변으로 게시 할 것입니다. 워크 시트에 붙여 넣을 때 숫자 값에 대해 기본적으로 Excel에 공백이 표시되지 않습니다. 공백 데이터 포인트를 (정확하게) 0으로 해석합니다. 0을 찾아 null 값으로 바꾸려는 것이 프레젠테이션 목적을위한 것 같습니다. 이 경우 조건부 서식을 제안합니다. 셀의 값이 0 일 때 설정하면 텍스트가 흰색이됩니다. 이 열에 수학을 적용하면 null 셀 또는 0 셀의 효과가 동일하므로 수식/함수에 영향을 미치지 않습니다.

+0

이 제한 사항을 추가해야합니다. Excel 파일에는 수식이나 조건부 수식을 사용할 수 없습니다. 이것은 .xls 접미사가있는 탭으로 구분 된 텍스트 파일로 설계되었습니다. 파일 형식이 제 통제하에 있지 않습니다. 나는 가능한 한 전달 형식에 가깝도록 SQL의 결과를 필요로한다. 또한 합법적 인 0이 데이터에 있으므로 공백으로 대체 할 수 없습니다. – Rhys

+0

찾기 및 바꾸기 절차는 사례별로 이루어져 있습니까? 파일을 표준 .xls 또는 .xlsx 파일로 저장할 방법이 없습니까? 마지막으로 데이터 소스를 다른 사용자와 공유해야합니까? 데이터 소스를 로컬에 저장하고이 데이터의보기 만 공유 할 수는 없습니다 (예 : 피벗 테이블, 연결된 테이블 등)? –

+0

하하하! 모범 사례??? 아니요, 방금이 프로젝트의 소유권을 얻었습니다. 현재로서는 그대로 유지해야합니다. 따라서 탭으로 구분 된 .xls는 NULL 대신 공백으로 채워집니다. – Rhys