TRUNCATE 또는 TRUNC 스칼라 함수
TRUNCATE 함수는 지정된 대로 잘린 첫 번째 인수를 반환합니다. 자릿수 제한은 소수점 오른쪽 또는 왼쪽에 표시되는 자리 수를 두 번째 인수로 지정하여 지정됩니다.
스키마는 SYSIBM입니다.
- numeric-expression-1
- 내장 숫자 데이터 유형의 값을 리턴하는 표현식입니다.
만약 expression-1 는 십진 부동 소수점 데이터 유형이므로, DECFLOAT ROUNDING MODE는 사용되지 않습니다. TRUNCATE의 근사값 동작은 ROUND_DOWN의 값에 대응합니다. 다른 반올림 방식을 원한다면 QUANTIZE 기능을 사용하십시오.
인수는 문자열 또는 그래픽 문자열 데이터 유형일 수도 있습니다. 문자열 입력은 암시적으로 DECFLOAT(34)의 숫자 값으로 변환됩니다.
- numeric-expression-2
- 내장된 SMALLINT 또는 INTEGER 데이터 유형의 값을 반환하는 표현입니다. 절단할 자리의 수는 정수의 절대값으로 지정합니다. 값 numeric-expression-2 소수점 오른쪽 또는 왼쪽에 잘라내기 여부를 결정합니다.
만약 numeric-expression-2 부정적이지 않습니다 numeric-expression-1 절대로 numeric-expression-2 소수점 오른쪽에 있는 곳.
만약 numeric-expression-2 부정적입니다 numeric-expression-1 1 + (절대값의 numeric-expression-2 ) 소수점 왼쪽에 있는 숫자. 1 + (절대값의 numeric-expression-2 )가 소수점 왼쪽의 자릿수보다 크거나 같으면 결과는 0입니다. 예를 들어,
TRUNCATE(748.58,-4)는 0을 반환합니다.인수는 문자열 또는 그래픽 문자열 데이터 유형일 수도 있습니다. 문자열 입력은 DECFLOAT(34)의 숫자 값으로 암시적으로 변환된 다음, INTEGER 값에 할당됩니다.
함수의 결과는 첫 번째 인자와 동일한 데이터 유형과 길이 속성을 갖습니다.
결과가 널(NULL)이 될 수 있습니다. 즉, 인수가 널(NULL)일 경우, 결과는 널(NULL)이 됩니다.
SELECT TRUNCATE(MAX(SALARY/12),2)
FROM DSN8C10.EMP;샘플 직원 표에서 가장 급여가 높은 직원이 연봉 $52750.00을 받으므로
이 예에서는 값 4395.83을 리턴합니다. SELECT TRUNC(873.726,2),
TRUNC(873.726,1),
TRUNC(873.726,0),
TRUNC(873.726,-1),
TRUNC(873.726,-2),
TRUNC(873.726,-3),
TRUNC(873.726,-4)
FROM TABLEX
WHERE INTCOL = 1234;이 예는 다음과 같은 값을 반환합니다 873.720, 873.700, 873.000, 870.000, 800.000, 0000.000, 0000.000.SELECT TRUNCATE( 3.5, 0),
TRUNCATE( 3.1, 0),
TRUNCATE(-3.1, 0),
TRUNCATE(-3.5, 0)
FROM TABLEX;이 예는 다음과 같은 값을 반환합니다: 3.0, 3.0, -3.0, -3.0.