SSIS 2008 패키지를 개발 중이며 파생 열 변환을 만들려고합니다. 그러나 Expression Editor로 가서이 표현을 시도하면 오류가 많이 생깁니다. 나는 이것의 다양한 차별화를 시도했지만 모두 오류를 가져왔다. 더 나은 표현을 지적하기 위해 SQL 전문가 한 명이 필요합니다!SSIS 데이터 흐름 탭에서 조건식을 공식화하는 방법은 무엇입니까?
ISNULL(WITHDRAWAL_DATE)||TRIM(WITHDRAWAL_DATE)==""?NULL:CAST(WITHDRAWAL_DATE AS DATETIME)
그래서 나는이 WITHDRAWAL_DATE 입력 문자열 데이터 형식은 빈 문자열로 비교 할 - 비어 있으면 내가 다른 날짜로 캐스팅하기가 널되고 싶다.
도움을 주신 여러분 감사합니다. 나 진짜 혼란 스럽다! WITHDRAWAL_DATE는 소스 XML 파일의 DATE 데이터 유형 입력이며 이제는 내 XSD 파일의 STRING 데이터 유형으로 사용됩니다. 궁극적으로 문제는 내 XML 소스 데이터의 Withdrawal_Date 필드 중 일부가 비어 있다는 것입니다. 그래서이 레코드에 대한 데이터베이스에 Null 값을 삽입하고 싶습니다.
XSD, XLST 및 SQL 출력 테이블에 어떤 데이터 유형을 지정해야합니까? 그리고 데이터 변환 작업 또는 파생 열 Xform을 사용하는 경우에는 별 문제가되지 않지만 새로운 개념이므로 구문 구문을 보낼 수 있습니까? 내가 DATETIME2를 봤 때 이 날짜 시간 데이터 유형에 DATETIME2 데이터 형식의 변환이
그래서 범위를 벗어난 값 결과 :
@BobS : 나는이 업데이트 된 솔루션을 실행했을 때, 나는 오류가 발생했습니다 데이터 유형은 더 큰 시간/날짜 필드를 지원하는 새로운 데이터 유형입니다. 그래서이 필드 대신 DATETIME2를 사용하도록 SQL 테이블을 수정하고 DATETIME2를 사용하도록 아래의 캐스트 표현식을 수정했으나 그에 따라 변환 결과가 변경되지 않았습니다.
나는 또한 모든 파일에 대해 datetime으로 WITHDRAWAL_DATE를 변경하고 SQL 테이블을 변경하여이 필드에 대해 NOT NULL을 말하려고 시도했습니다. 그러나 이것 또한 나에게 오류를 주었다.
SSIS가 생성하는 오류를 게시 할 수 있습니까? –