Excel에서 Microsoft Query 를 이용하데 데이터 가져올 때 nvarchar 형식을 가져오지 못하는 문제
/**
* 문서번호: nabiro_201209281524
* 검색어: nabiro, excel, 엑셀, 컴마, 쉼표, comma, nvarchar, microsoft, query, 가져오기, 외부, 데이터, 데이타, 외부데이타, 외부데이터, 표시, 안됨, 표시 안됨
* 참조: http://connect.microsoft.com/SQLServer/feedback/details/419996/sql-native-client-returning-blank-fields-to-excel , 2012-09-27 접속 데이터
**/
제목과 같이 엑셀 (2003, 2007 에서 테스트)에서 Microsoft Query를 이용하여 외부데이터를 가져올 때
가끔 특정 필드의 값을 가져오지 못하는 경우가 있습니다.
아마도 nvarchar(MAX) 형태와 같이 nvarchar 형식의 필드 값을 가져오지 못할 것 입니다.
검색해보니 해당 필드를 varchar 형식으로 형변환 하면 됩니다.
예) SELECT ts_id, ts_issueid, ts_owner, ts_secondaryowner FROM usr_issues
위의 쿼리문은 쿼리분석기에서는 정상적으로 값이 표시되지만 엑셀에서는 ts_secondaryowner 값은 엑셀에서 표시되지 않습니다.
이때에 아래와 같이 수정하시면 엑셀에서도 정상적으로 표시됩니다.
[수정 후]
SELECT ts_id, ts_issueid, ts_owner, CAST(ts_secondaryowner AS VARCHAR) as ts_secondaryowner
FROM usr_issues
참고로 위의 예제는 제 업무범위인 SBM 데이터베이스를 참고로 작성하였습니다.