2013-09-03 4 views
2

활성이라는 열이있는 .csv 파일에 'Yes'및 'No'값이 들어 있습니다.SSIS 파생 된 열 nvarchar를 비트로

SSIS 패키지 내에서 파생 된 구성 요소를 사용했지만식이 작동하는 데 어려움을 겪고 있습니다. SQL 서버의 필드에는 bit라는 데이터 유형이 있습니다.

Active == "YES" ? "0" : "1" 

내가 잘못 될 수있는 아이디어가 있습니까?

+0

(이 [기사]에서보세요 (또한, ... 난 당신이 예 1에 매핑 할 책임을지지 않습니다 적이없고 주변에 일반적인 방법이 될 것이다 0으로 매핑 할 수 있습니다) http://social.msdn.microsoft.com/Forums/sqlserver/en-US/6aca0406-e0d6-4cb4-bcb6-d62897e61fa6/converting-dtstr-to-dtbool) 결과를 (DT_BOOL) – TsSkTo

답변

0

그 중 하나처럼 작동하지 못했습니다. 하지만이 작품 ..

REPLACE(REPLACE([Column 1],"yes","1"),"no","0") 
+1

으로 전송 해 볼 수도 있습니다. 이것은 나를 위해 일했습니다. 고마워요. – lemondash

2

거의 다 왔어.

(DT_BOOL)(UPPER(Active) == "YES" ? 1 : 0) 

그래서, 당신은 단지 대신 "1"보다 1과 0을 사용하여 "0"(당신이하지 문자열을 숫자를 원하는대로) 다음지도 할하는 DT_BOOL에 전체를 캐스팅이 작동합니다 그냥 SQL 서버의 bit 유형에 잘.

값이 "예"또는 "예"인지 확신 할 수 없으므로 UPPER를 추가했습니다. 그렇지 않으면 문자열 비교에서 대소 문자를 구분합니다.