식에서의 암시적 데이터 형식 변환

데이터 형식의 암시적 변환은 식 계산기가 자동으로 데이터를 한 데이터 형식에서 다른 데이터 형식으로 변환할 때 발생합니다. 예를 들어 smallint를 int와 비교하는 경우 smallint는 비교되기 전에 암시적으로 int로 변환됩니다.

인수와 피연산자의 데이터 형식이 호환되지 않는 경우 식 계산기는 암시적 데이터 변환을 수행할 수 없습니다. 또한 식 계산기는 암시적으로 임의의 값을 부울로 변환할 수 없습니다. 대신 인수 및 피연산자는 캐스트 연산자를 사용하여 명시적으로 변환해야 합니다. 자세한 내용은 캐스트(SSIS)를 참조하십시오.

다음 다이어그램에서는 BINARY 연산의 암시적 변환의 결과 유형을 보여 줍니다. 이 테이블에서 열과 행의 교집합은 왼쪽(원본) 및 오른쪽(대상) 유형의 피연산자가 있는 이진 연산의 결과 유형입니다.

데이터 형식 간 암시적 데이터 형식 변환

부호 있는 정수와 부호 없는 정수의 교집합은 두 인수 중 하나보다 클 수도 있는 부호 있는 정수입니다.

연산자는 문자열, 날짜, 부울 및 기타 데이터 형식을 비교합니다. 연산자가 두 값을 비교하기 전에 식 계산기는 특정 암시적 변환을 수행합니다. 자세한 내용은 다음 항목을 참조하십시오.

인수가 하나인 함수는 다음과 같은 경우를 제외하고 해당 인수의 데이터 형식으로 결과를 반환합니다.

  • DAY, MONTH 및 YEAR는 날짜를 받아서 정수(DT_I4) 결과를 반환합니다.

  • ISNULL은 모든 SSIS 데이터 형식의 식을 받아서 부울(DT_BOOL) 결과를 반환합니다.

  • SQUARE 및 SQRT는 숫자 식을 받아서 비정수 숫자(DT_R8) 결과를 반환합니다.

인수의 데이터 형식이 같으면 결과도 해당 형식이 됩니다. 단, DT_DECIMAL 데이터 형식의 두 값에 대한 이진 연산의 반환 결과는 DT_NUMERIC 데이터 형식입니다.