2017-01-07 2 views
1

도움이 필요하십니까 .. 데이터 형식이 Excel보다 우수합니다. 예제 33.257615111은 33.258 (3 천 3 백만 2 천 8 천)으로 표시됩니다.SSIS에서 숫자 형식 변환

SSIS ETL을 사용하여 SQL에 데이터 파일을 가져 오려고합니다. 소수점 이하 2 자리 숫자로 ETL 과정에서 이것을 변환 할 수있는 방법이 있습니까? 즉 33257615.11

감사합니다.

답변

0

이 작업을 수행 할 수 있습니다. 파생 열 및 ROUND() 식을 사용하십시오.

데이터 흐름 내부에서 Excel 파일 원본 구성 요소와 OLE DB 대상 구성 요소 사이에 파생 열 구성 요소를 추가하십시오. 해당 파생 열 구성 요소 내부에서 값을 반올림하는 새 열을 만듭니다.

(DT_NUMERIC,25,2)ROUND(MyColumnName, 2)

지도하여 SQL 대상으로 위의이 새로운 파생 열 우리 모두 집합입니다.

하지만! 데이터베이스에 반올림 숫자를 저장 하시겠습니까?

이 열을 더할 필요가 있습니까? 그렇다면 반올림 된 값은 반올림되지 않은 값과 매우 다른 합계를 산출합니다. SSIS에서 반올림하지 말고 전체 숫자를 저장하십시오. 이 데이터를 읽는 응용 프로그램이 형식을 지정하게하십시오. 그것은 아주 쉽습니다. multitier architecture에서

SELECT ROUND(MyColumnName,2) AS MyColumnName 
FROM MyTable 

은 숫자의 형식은 디스플레이 층이 아닌 데이터 영역까지 남아있을 것이다. 이것은 정확히 Excel이하는 일입니다. 그것은 입니다.에 둥근 숫자가 표시되어 있지만 뒷 배경은 완전한 가치입니다. 포맷팅을 위해 정밀도를 떨어 뜨리지 마십시오.

+0

고맙습니다 - 좋은 조언 –