다음을 통해 공유


캐스트(SSIS 식)

적용 대상: SQL Server Azure Data Factory의 SSIS Integration Runtime

식의 데이터 형식을 다른 데이터 형식으로 명시적으로 변환합니다. 캐스트 연산자는 잘림 연산자로도 사용할 수 있습니다.

구문

  
(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의 ISO 형식입니다.

참고 항목

문자열을 DT_DATE 이외의 날짜 데이터 형식으로 변환하려면 Integration Services 데이터 형식을 참조하세요.

코드 페이지가 멀티바이트 문자 코드 페이지인 경우 바이트 및 문자 수가 다를 수 있습니다. 동일한 charcount 값을 사용하여 DT_WSTR에서 DT_STR로 캐스팅하면 변환된 문자열의 마지막 문자가 잘릴 수 있습니다. 대상 테이블의 열에서 충분한 스토리지를 사용할 수 있는 경우 멀티바이트 코드 페이지에 필요한 바이트 수를 반영하도록 charcount 매개 변수 값을 설정합니다. 예를 들어 936 코드 페이지를 사용하여 문자 데이터를 DT_STR 데이터 형식으로 캐스팅하는 경우 데이터가 포함할 문자 수보다 최대 2배 더 큰 값으로 charcount를 설정해야 합니다. UTF-8 코드 페이지를 사용하여 문자 데이터를 캐스팅하는 경우 charcount를 최대 4배 더 큰 값으로 설정해야 합니다.

날짜 데이터 형식의 구조에 대한 자세한 내용은 Integration Services 데이터 형식을 참조하세요.

SSIS 식 예제

이 예제에서는 숫자 값을 정수로 캐스팅합니다.

(DT_I4) 3.57  

이 예제에서는 1252 코드 페이지를 사용하여 정수를 문자열로 캐스팅합니다.

(DT_STR,1,1252)5  

이 예제에서는 3자 문자열을 더블바이트 문자로 캐스팅합니다.

(DT_WSTR,3)"Cat"  

이 예제에서는 정수를 소수 자릿수가 2인 소수로 캐스팅합니다.

(DT_DECIMAl,2)500  

이 예제에서는 정수를 전체 자릿수가 7이고 소수 자릿수가 3인 정수로 캐스팅합니다.

(DT_NUMERIC,7,3)4000  

이 예제에서는 1252 코드 페이지를 사용하여 nvarchar 데이터 형식 및 50의 길이로 정의된 FirstName 열의 값을 문자열로 캐스팅합니다.

(DT_STR,50,1252)FirstName  

이 예제에서는 DT_DBDATE 형식의 DateFirstPurchase 열에 있는 값을 길이가 20인 유니코드 문자열에 캐스팅합니다.

(DT_WSTR,20)DateFirstPurchase  

이 예제에서는 "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"  

참고 항목

연산자 우선 순위 및 결합성
연산자(SSIS 식)
Integration Services(SSIS) 식
식의 Integration Services 데이터 형식