Cast(SSIS 식): SSIS 데이터 형식 변환
식의 데이터 형식을 다른 데이터 형식으로 명시적으로 변환합니다. 캐스트 연산자는 잘라내기 연산자로 실행될 수도 있습니다.
구문
(type_spec) expression
인수
type_spec
유효한 SSIS 데이터 형식입니다.expression
유효한 식입니다.
주의
다음 다이어그램에서는 유효한 캐스트 연산을 보여 줍니다.
일부 데이터 형식으로의 캐스트는 매개 변수가 필요합니다. 다음 표에서는 이러한 데이터 형식과 해당 매개 변수를 보여 줍니다.
데이터 형식 |
매개 변수 |
예 |
---|---|---|
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 형식을 사용하는지 여부에 관계없이 날짜는 ISO 형식 YYYY-MM-DD로 설정됩니다.
[!참고]
문자열을 DT_DATE가 아닌 다른 날짜 데이터 형식으로 변환하려면 Integration Services 데이터 형식을 참조하십시오.
코드 페이지가 멀티바이트 문자 코드 페이지이면 바이트 수와 문자 수가 다를 수 있습니다. 동일한 charcount 값을 사용하여 DT_WSTR에서 DT_STR로 캐스팅하면 변환된 문자열의 마지막 문자가 잘릴 수 있습니다. 대상 테이블의 열에 사용 가능한 저장 공간이 충분한 경우 멀티바이트 코드 페이지에 필요한 바이트 수를 반영하여 charcount 매개 변수의 값을 설정합니다. 예를 들어 936 코드 페이지를 사용하여 문자 데이터를 DT_STR 데이터 형식으로 캐스팅하는 경우 charcount를 데이터에 포함될 예상 문자 수보다 최대 2배의 값으로 설정해야 합니다. UTF-8 코드 페이지를 사용하여 문자 데이터를 캐스팅하는 경우에는 charcount를 최대 4배의 값으로 설정해야 합니다.
날짜 데이터 형식의 구조에 대한 자세한 내용은 Integration Services 데이터 형식을 참조하십시오.
SSIS 데이터 형식의 변환 예
이 예에서는 숫자 값을 정수로 캐스팅합니다.
(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"
이 예에서는 문자열 리터럴을 DT_DBDATE로 캐스팅합니다.
(DT_DBDATE) "1999-10-11"
이 예에서는 문자열 리터럴을 소수 자릿수 초에 5자리를 사용하는 DT_DBTIME2 데이터 형식으로 캐스팅합니다. DT_DBTIME2 데이터 형식은 소수 자릿수 초에 지정된 0부터 7자리까지 가질 수 있습니다.
(DT_DBTIME2, 5) "16:34:52.12345"
이 예에서는 문자열 리터럴을 소수 자릿수 초에 4자리를 사용하는 DT_DBTIMESTAMP2 데이터 형식으로 캐스팅합니다. DT_DBTIMESTAMP2 데이터 형식은 소수 자릿수 초에 지정된 0부터 7자리까지 가질 수 있습니다.
(DT_DBTIMESTAMP2, 4) "1999-10-11 16:34:52.1234"
이 예에서는 문자열 리터럴을 소수 자릿수 초에 7자리를 사용하는 DT_DBTIMESTAMPOFFSET 데이터 형식으로 캐스팅합니다. DT_DBTIMESTAMPOFFSET 데이터 형식은 소수 자릿수 초에 지정된 0부터 7자리까지 가질 수 있습니다.
(DT_DBTIMESTAMPOFFSET, 7) "1999-10-11 16:34:52.1234567 + 5:35"