2011-04-11 6 views
0

텍스트 파일의 데이터를 SQL Server의 테이블로 복사하는 SSIS 패키지가 있습니다.SSIS의 varchar에서 접두 번호를 제거하는 방법은 무엇입니까?

나는 내가 복사해야되는 ... 테이블을 지정하는 제 3 task..I에서 같은 1)을 Flatfile 소스 2) 파생 열 작업, 3) SQL 대상 작업

에 대한 3 개 태스크를 사용하여 데이터.

해당 대상 테이블에서 .. DESC .. 컬럼이 있으며 varchar 유형이며 플랫 파일에이 컬럼에 대한 데이터가 다음과 같이 포함되어 있습니다. - "01 planA".. "04 plan C", " PlanJ ".

이 접두사가있는 숫자를 제거해야합니다. 나는 아래와 같은 쿼리를 가지고 있습니다. 그러나 파생 된 컬럼 태스크에서 이것을 사용할 수 있습니다 .. SSIS는 PATINDEX를 지원하지 않을 것입니다.

SUBSTRING([DESC], PATINDEX('%[a-zA-Z]%',[DESC]), LEN([DESC])- PATINDEX('%[a-zA-Z]%',[DESC])+1) 

도와주세요.

답변

1

정규식을 사용하여 스크립트 작업에서이 작업을 수행 할 수 있습니다. System.Text.RegularExpressions를 참조한 다음 .NET Regex 개체를 사용하여 위의 코드를 Input0_ProcessInputRow 메서드에서 모방해야합니다.

또는 원시 데이터를 먼저 SQL 스테이징 테이블로 보내고 예제에서와 같이 PATINDEX를 사용하여 거기에서 추출한 다음 정리 된 버전을 대상 테이블로 푸시하십시오.

+0

스테이징 테이블의 의미는 무엇입니까? SSIS에 temperory table을 사용할 수 있습니까? – Relativity

관련 문제