2016-07-08 3 views
0

csv 파일을 sqlserver 테이블에로드하는 SSIS 프로젝트가 있습니다. float 열에 두 개의 십진수가있는 필드를로드하는 동안 자릿수가 증가하고 열 값이 변경됩니다.SQL Server SSIS는 부동 소수점 필드를로드 할 때 자릿수를 늘립니다.

예를 들어, csv 필드 값은 173.76이지만 테이블 값은 173.759994506836입니다.

어떻게 이런 일이 발생할 수 있습니까?

CSV 연결 속성은 다음과 같습니다.

  • 로케일 : 터키어 (터키)
  • 코드 페이지 : 1252
  • 데이터 형식이 : [DT_R4] 부동는
+0

SQL 서버에서'FLOAT'을 사용하지 마십시오 - 정확한 숫자를 얻기 위해'DECIMAL (p, s)'를 사용하십시오 ..... –

+0

감사합니다. marc_s, 그렇게하겠습니다. –

답변

1

float 데이터 타입은 근사치입니다. 데이터 유형을보다 정확한 값으로 변경하거나 가져 오는 동안 값을 nn.nnn으로 변환하십시오.

+1

답변 해 주셔서 감사합니다. 그 부동 소수점 데이터 형식에 대한 지식 부족. 위키 백과 [link] (https://en.wikipedia.org/wiki/Floating_point)의 정의는 다음과 같습니다. –

관련 문제