형변환(SSIS)
식의 데이터 형식을 다른 데이터 형식으로 명시적으로 변환합니다. 형변환 연산자는 잘라내기 연산자로 실행될 수도 있습니다.
구문
(type_spec) expression
인수
type_spec
유효한 SSIS 데이터 형식입니다.
expression
유효한 식입니다.
결과 형식
type_spec의 데이터 형식입니다. 자세한 내용은 Integration Services 데이터 형식을 참조하십시오.
주의
다음 다이어그램에서는 유효한 형변환 연산을 보여 줍니다.
일부 데이터 형식으로의 형변환은 매개 변수가 필요합니다. 다음 표에서는 이러한 데이터 형식과 해당 매개 변수를 보여 줍니다.
데이터 형식 | 매개 변수 | 예 |
---|---|---|
DT_STR |
charcount codepage |
(DT_STR,30,1252)는 1252 코드 페이지를 사용하여 30바이트 또는 30자의 단일 문자를 DT_STR 데이터 형식으로 형변환합니다. |
DT_WSTR |
Charcount |
(DT_WSTR,20)은 20바이트 쌍 또는 20자의 유니코드 문자를 DT_WSTR 데이터 형식으로 형변환합니다. |
DT_BYTES |
Bytecount |
(DT_BYTES,50)은 50바이트를 DT_BYTES 데이터 형식으로 형변환합니다. |
DT_DECIMAL |
Scale |
(DT_DECIMAL,2)는 소수 자릿수 2를 사용하여 숫자 값을 DT_DECIMAL 데이터 형식으로 형변환합니다. |
DT_NUMERIC |
Precision Scale |
(DT_NUMERIC,10,3)은 전체 자릿수 10, 소수 자릿수 3을 사용하여 숫자 값을 DT_NUMERIC 데이터 형식으로 형변환합니다. |
DT_TEXT |
Codepage |
(DT_TEXT,1252)는 1252 코드 페이지를 사용하여 값을 DT_TEXT 데이터 형식으로 형변환합니다. |
형변환 연산자를 사용할 때 날짜는 특별한 주의가 필요합니다.
문자열을 DT_DATE로 형변환하거나 그 반대의 경우 변환 로캘이 사용됩니다.
[!참고] 로캘 기본 설정이 다른 형식인 경우에도 날짜는 ISO 형식 YYYY-MM-DD로 설정됩니다.
문자열을 DT_DATE 이외의 날짜 데이터 형식으로 형변환하면 다음 결과가 생성됩니다.
데이터 형식 날짜 형식 DT_DBDATE
yyyy-mm-dd
DT_FILETIME
yyyy-mm-dd hh:mm:ss:fff
DT_DBTIME
hh:mm:ss
DT_DBTIMESTAMP
yyyy-mm-dd hh:mm:ss:fffffffff
DT_FILETIME의 날짜 형식에서 fff는 0에서 999 사이의 값입니다. 이 형식은 Windows SYSTEMTIME 날짜 형식과 같습니다.
DT_DBTIMESTAMP의 날짜 형식에서 fffffffff는 0에서 999999999 사이의 값입니다.
코드 페이지가 멀티바이트 문자 코드 페이지이면 바이트 수와 문자 수가 다를 수 있습니다. 동일한 charcount 값을 사용하여 DT_WSTR에서 DT_STR로 형변환하면 변환된 문자열의 마지막 문자가 잘릴 수 있습니다. 대상 테이블의 열에 사용 가능한 저장 공간이 충분한 경우 멀티바이트 코드 페이지에 필요한 바이트 수를 반영하여 charcount 매개 변수의 값을 설정합니다. 예를 들어 936 코드 페이지를 사용하여 문자 데이터를 DT_STR 데이터 형식으로 형변환하는 경우 charcount를 데이터에 포함될 예상 문자 수보다 최대 2배의 값으로 설정해야 합니다. UTF-8 코드 페이지를 사용하여 문자 데이터를 형변환하는 경우에는 charcount를 최대 4배의 값으로 설정해야 합니다.
예
이 예에서는 숫자 값을 정수로 형변환합니다.
(DT_I4) 3.57
이 예에서는 1252 코드 페이지를 사용하여 정수를 문자열로 형변환합니다.
(DT_STR,1,1252)5
이 예에서는 3자 문자열을 더블바이트 문자로 형변환합니다.
(DT_WSTR,3)"Cat"
이 예에서는 정수를 소수 자릿수 2의 10진수로 형변환합니다.
(DT_DECIMAl,2)500
이 예에서는 정수를 전체 자릿수가 7이고 소수 자릿수가 3인 정수로 형변환합니다.
(DT_NUMERIC,7,3)4000
이 예에서는 1252 코드 페이지를 사용하여 nvarchar 데이터 형식과 길이 50으로 정의된 FirstName 열의 값을 문자열로 형변환합니다.
(DT_STR,50,1252)FirstName
이 예에서는 문자열 "True"를 부울로 형변환합니다.
(DT_BOOL)"True"