TRUNCATE 또는 TRUNC 스칼라 함수

TRUNCATE 함수는 지정된 대로 잘린 첫 번째 인수를 반환합니다. 자릿수 제한은 소수점 오른쪽 또는 왼쪽에 표시되는 자리 수를 두 번째 인수로 지정하여 지정됩니다.

구문 다이어그램 읽기생략 시각적 구문 다이어그램 TRUNCATETRUNC (numeric-expression-1 ,0,numeric-expression-2 )

스키마는 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)이 됩니다.

예 1 : 샘플 직원 테이블 DSN8C10.EMP 를 사용하여 가장 높은 급여를 받는 직원의 월 평균 급여를 계산합니다. 결과를 소수점 오른쪽 두 자리에서 자르십시오.
   SELECT TRUNCATE(MAX(SALARY/12),2)
     FROM DSN8C10.EMP;
샘플 직원 표에서 가장 급여가 높은 직원이 연봉 $52750.00을 받으므로 이 예에서는 값 4395.83을 리턴합니다.
예 2: 숫자 873.726 를 각각 소수점 이하 2자리, 1자리, 0자리, -1, -2, -3, -4 로 반환합니다.
   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.
예 3 : 양수와 음수를 모두 계산합니다.
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.