내재된 변환
특정 데이터 유형 조합에 대해 런타임 시 표현식 결과가 내재적으로 변환됩니다.
예를 들어, 부동 소수점 유형인 데이터 필드에 대해 정수 표현식이 초기값으로 지정된 경우 내재된 변환이 발생합니다. 표현식 내에서 문자열 값은 시간 값으로 내재적으로 변환되지 않습니다. convert 함수 또는 stringtotime 함수를 사용하여 문자열 값을 시간 값으로 명시적으로 변환해야 합니다.
혼합 표현식 내부에서 내재된 변환은 인수의 데이터 유형이 연산자 또는 함수의 요구사항을 충족하도록 하기 위해 발생합니다. 예를 들어, substr 함수는 시작 위치 및 길이 인수에 정수 값을 사용합니다. 부동 소수점 값 2.5 및 1.0을 해당 인수로 지정하는 경우, 표현식이 평가되기 전에 해당 값은 정수 값 2 및 1로 변환됩니다.
다음 데이터 유형 조합에 대해 런타임 시 내재된 변환이 발생합니다.
부동 소수점 대 정수
부동 소수점 수에서 소수점의 오른쪽에 있는 모든 숫자가 잘립니다. 예를 들어, 123.4567을 정수 데이터 필드의 초기값으로 지정하는 경우, 초기화 시 해당 데이터 필드의 값은 123으로 설정됩니다.
참고: 부동 소수점 대 정수 변환은 배열 데이터 필드의
초기화에서는 발생하지 않습니다. 단순 또는 혼합 표현식으로
정수 배열에 지정된 모든 요소는 정수 값이어야 합니다.
예를 들어, 정수 배열 데이터 필드에 초기값을 지정하거나
지정 시스템 기능을 사용하여 정수 배열 데이터 필드에 값을
지정하는 경우, {3} 및 {3 + 5, 7} 값은 유효한 값에
포함됩니다. 그러나 {3.0} 및 {3 + 5.5, 7} 값은 유효하지 않습니다.
정수 대 부동 소수점
정수의 마지막 숫자 뒤에 소수점 및 0이 추가됩니다.
부동 소수점 및 정수 값을 모두 포함하는 혼합 표현식 내부에서 내재된 변환은 연산자에 동일한 데이터 유형의 값이 필요한 경우에 발생합니다. 이 경우, 표현식을 평가하기 전에 정수 값이 부동 소수점 데이터 유형으로 변환됩니다. 예를 들어, 1.5 + 2를 지정하는 경우, 2가 2.0으로 변환됩니다.
참고: 정수 대 부동 소수점 변환은
단순 표현식을 포함한 배열 데이터 필드의 초기화에서는
발생하지 않습니다. 부동 소수점 배열에 대해 단순 표현식으로 지정된
모든 요소는 부동 소수점 값이어야 합니다. 예를 들어, {3.0} 또는
{ convert(1, float) }는 지정할 수 있지만 {3}은 지정할 수 없습니다.
마지막 업데이트 날짜: 2015년 10월
bpfe016.htm
© Copyright IBM Corp. 2015.