SQL Server로 SSIS를 통해 Excel 파일을 가져옵니다. nvarchar에서 모든 것을 가져올 임시 테이블이 있습니다. 4 열에 대해서는 문자열을 돈형으로 캐스팅하고 목표 테이블에 넣습니다.돈을 데이터 형식에 대한 SQL Server 쉼표 구분 기호
내 임시 테이블에서이 네 개의 열 중 하나를 X라고하고 나머지는 구분 기호로 쉼표를 사용합니다. 왜 저에게 묻지 마십시오. SSIS의 모든 것을 똑같이 설정했습니다. 내 Excel에서는 구분 기호도 쉼표입니다.
그래서 지금은 쉼표 값에 모든 것을 가지고 있지만, X 열이 지금과 같이 오른쪽에 쉼표 두 장소를 이동하고 보이는 내 목표 테이블 :
537013,00 대신 5370,13 그것은 temp와 excel 컬럼의 원래 셀 값이었습니다.
나는 이것이 문화 설정 문제라고 생각했지만 다시이 모든 열에 대해 작동하거나해서는 안된다.
a) Excel에서 쉼표를 표시 할 때 임시 테이블에 도트 값을받는 이유는 무엇입니까?
b) 어떻게 해결할 수 있습니까? temp 테이블의 ","를 점으로 바꿀 수 있습니까?
UPDATE
나는 이유가 아니라 솔루션을 찾은 것 같아요 : 엑셀에서이 X 열에서
처음 3 개 개의 셀이 비어 - 0로 시작하는 모든 다른 세 개의 열이 나는 경우, 이 3 개의 셀을 0으로 채우면 임시 테이블에 점이 표시되고 목표 테이블에 올바른 값이 표시됩니다. 물론 Excel 파일을 그대로 사용해야합니다. 그것에 관한 아이디어가 있습니까?
숫자 열이 모두 Excel에서 비어 있거나 텍스트가 포함될 수 있으므로 nvarchar 이외에는 사용할 수없는 이유가 있습니다 (사용자가 잘못 놓을 수 있음) – TonyC