식에서의 Integration Services 데이터 형식

식 계산기는 SQL Server 2005 Integration Services(SSIS) 데이터 형식을 사용합니다. 데이터가 Integration Services 패키지의 데이터 흐름에 처음 포함될 때 데이터 흐름 엔진이 모든 열 데이터를 Integration Services 데이터 형식으로 변환하므로 식에 사용되는 열 데이터는 이미 Integration Services 데이터 형식입니다. 조건부 분할 및 파생 열 변환에 사용된 식은 열 데이터가 포함된 데이터 흐름에 속해 있으므로 열을 참조할 수 있습니다.

식에 변수를 사용할 수도 있습니다. 변수는 Variant 데이터 형식으로, 식 계산기는 식을 계산하기 전에 변수의 데이터 형식을 Variant 하위 형식에서 Integration Services 데이터 형식으로 변환합니다. 변수는 Integration Services 데이터 형식의 하위 집합만 사용할 수 있습니다. 예를 들어 변수는 BLOB(Binary Large Object Block) 데이터 형식을 사용할 수 없습니다.

Variant 데이터 형식을 Integration Services 데이터 형식으로 매핑하는 방법과 Integration Services 데이터 형식에 대한 자세한 내용은 Integration Services 데이터 형식을 참조하십시오.

또한 식은 문자열, 부울 및 숫자 리터럴을 포함할 수 있습니다. 식 계산기는 항상 문자열 리터럴을 DT_WSTR 데이터 형식으로 변환하고 부울 리터럴을 DT_BOOL 데이터 형식으로 변환합니다. 식 계산기는 따옴표로 묶인 모든 값을 문자열로 해석합니다. 숫자 리터럴은 Integration Services 숫자 데이터 형식 중 하나로 변환됩니다. 숫자 리터럴을 Integration Services 숫자 데이터 형식으로 변환하는 방법은 리터럴(SSIS)을 참조하십시오.

[!참고] 부울 값은 숫자가 아니라 논리 값입니다. 일부 환경에서는 부울 값이 숫자로 표시될 수 있지만 숫자로 저장되지는 않으며, 다양한 프로그래밍 언어에서는 부울 값을 .NET Framework 메서드와는 다른 숫자 값으로 표시합니다. 예를 들어 Visual Basic에서 사용할 수 있는 변환 함수는 True를 -1로 변환하지만 .NET Framework의 System.Convert.ToInt32 메서드는 True를 +1로 변환합니다. Integration Services 식 언어는 True를 -1로 변환합니다. 오류나 예기치 않은 결과를 방지하려면 TrueFalse에 특정 숫자 값을 사용하는 코드를 작성하지 말아야 합니다. 가능하면 부울 변수는 부울 변수용으로 설계된 논리 값으로만 사용해야 합니다.

식에 사용되는 데이터에 대한 요구 사항

식 계산기는 모든 Integration Services 데이터 형식을 지원합니다. 그러나 연산이나 함수에 따라 피연산자와 인수에 특정 데이터 형식이 필요합니다. 식 계산기는 식에 사용된 데이터에 대해 다음 데이터 형식 요구 사항을 설정합니다.

  • 논리 연산에 사용된 피연산자는 부울 값이어야 합니다. 예를 들어 ColumnA > 1&&ColumnB < 2와 같습니다.
  • 수치 연산에 사용된 피연산자는 숫자 값이어야 합니다. 예를 들어 23.75 * 4와 같습니다.
  • 등가 연산에 사용된 피연산자는 호환 가능한 데이터 형식이어야 합니다. 예를 들어 124 = 124.27 또는 "Flower" = "flower"와 같습니다.
  • 수치 연산 함수에 전달된 인수는 숫자 데이터 형식이어야 합니다. 함수나 연산에 따라 특정 숫자 데이터 형식이 필요할 수 있습니다. 예를 들어 HEX 함수는 부호 있는 정수나 부호 없는 정수가 필요합니다.
  • 문자열 함수에 전달된 인수는 문자 데이터 형식 DT_STR 또는 DT_WSTR여야 합니다. 예를 들어 UPPER("flower")와 같습니다. SUBSTRING과 같은 일부 문자열 함수는 시작 위치와 문자열 길이를 나타내는 추가 정수 인수가 필요합니다.
  • 날짜 및 시간 함수에 전달된 인수는 유효한 날짜여야 합니다. 예를 들어 DAY(GETDATE())와 같습니다. DATEADD와 같은 일부 함수는 날짜에 추가할 일 수를 나타내는 추가 정수 인수가 필요합니다.

많은 연산 및 함수 결과에는 미리 결정된 데이터 형식이 있습니다. 인수의 데이터 형식이거나 식 계산기가 결과를 형변환하는 데이터 형식일 수 있습니다. 예를 들어 논리적 OR 연산자(||)의 결과는 항상 부울이고 ABS 함수의 결과는 인수의 숫자 데이터 형식이며 곱하기의 결과는 손실 없이 결과를 유지할 수 있는 가장 작은 숫자 데이터 형식입니다. 결과 데이터 형식에 대한 자세한 내용은 연산자(SSIS)함수(SSIS)를 참조하십시오.

변경 내역

릴리스 내역

2006년 7월 17일

변경된 내용
  • 부울 데이터 형식이 정수로 처리될 때 발생할 수 있는 문제에 대한 설명을 추가했습니다.

참고 항목

관련 자료

Integration Services 식 개념

도움말 및 정보

SQL Server 2005 지원 받기