2009-05-13 5 views
1

SSIS에서 0.00으로 포맷 된 OLE DB 원본에 MONEY 열이 있습니다. 이 값을 정확히 같은 형식으로 플랫 파일에 출력하고 싶습니다. 지금까지 두 가지 솔루션을 찾았습니다.플랫 파일로 출력되는 SSIS 0.00

  1. 이 코드를 내 소스의 문자열로 변환하고 파일에 문자열을 출력합니다. 이 파일은 플랫 파일이므로, 0.00까지 얻는 방법에 상관하지 않습니다. 그냥 값으로 사용합니다.

  2. 데이터 흐름에서 파생 열을 사용하여 0.00의 문자열을 생성합니다. 이는 첫 번째 솔루션을 구현하는 데 더 힘든 방법이지만 소스 데이터의 형식을 제어 할 수없는 상황에서 작동 할 수 있습니다.

형식을 문자열로 올바르게 강제하려면 몇 가지 추가 작업이 필요하기 때문에 이러한 솔루션 중 하나가 마음에 들지 않습니다. 데이터 흐름 원본 출력 열을 숫자 (18,2)로 변경하면 .00으로 데이터가 출력 될 수 있지만 문제가 완전히 해결되지는 않습니다. 데이터를 문자열로 변환하지 않고 0.00을 출력하는 방법이 있습니까?

+0

나는 아직도 SSIS가 "0.00"이 아닌 ".00"을 출력하는 이유를 알아 내려하고 있습니다. 알아내는 것이 좋다. – PeterX

답변

2

ABS() 정규 표현식을 사용하십시오. 그것은 숫자로 남아 있으며 원하는 "0.00"을 생성합니다.

ABS(numeric_expression) 

** 수학 정규 표현식을 살펴보십시오. 원본 데이터에 음수 값이있는 경우 ABS가 원하는대로되지 않을 수 있습니다.

+0

음수 값이 필요하기 때문에 이것이 내 요구를 정확하게 충족시키지 못했습니다. 이상적으로는 변환이나 스크립트 작업을 필요로하지 않는 솔루션을 선호하지만 다른 옵션이없는 경우이를 수행 할 것입니다. –

+0

기본적으로 사망 한 질문이므로 답변이 부분적으로 도움이되기 때문에 승인 된 것으로 표시됩니다. –

관련 문제