다음을 통해 공유


형변환(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"

참고 항목

개념

연산자 선행 규칙 및 계산 방향

관련 자료

연산자(SSIS)

도움말 및 정보

SQL Server 2005 지원 받기