TRUNC 함수
TRUNC 함수는 숫자를 이전 정수 또는 소수로 자릅니다.
TRUNC 함수는 옵션으로 두 번째 인수를 추가할 수 있습니다. 이 두 번째 인수는 어느 방향이든 반올림할 소수 자릿수를 나타내는 INTEGER
입니다. 두 번째 인수를 제공하지 않으면 함수는 가장 가까운 정수로 반올림됩니다. 두 번째 인수 integer거 지정되면 함수는 전체 자릿수의 소수 자릿수가 integer인 가장 가까운 숫자로 반올림됩니다.
이 함수는 TIMESTAMP
를 절사하고 DATE
를 반환할 수도 있습니다. 자세한 내용은 TRUNC 함수 섹션을 참조하세요.
구문
TRUNC(number [ , integer ])
인수
- number
-
숫자 또는 숫자로 평가되는 표현식입니다.
DECIMAL
,FLOAT8
또는SUPER
형식이 될 수 있습니다. 다른 데이터 형식은 암시적 변환 규칙에 따라 Amazon Redshift에 의해 변환될 수 있습니다. - integer
-
(선택) 어느 방향이든 정밀도의 소수점 자리 수를 나타내는
INTEGER
입니다. integer를 지정하지 않으면 숫자가 정수로 잘립니다. integer를 지정하면 숫자가 지정한 소수점 자리에서 절사됩니다.SUPER
데이터 형식에는 지원되지 않습니다.
반환 타입
TRUNC는 첫 번째 입력 숫자와 동일한 숫자 데이터 형식을 반환합니다.
입력이 SUPER
형식이면 출력은 입력과 동일한 동적 형식을 유지하는 반면 정적 형식은 SUPER
형식을 유지합니다. SUPER
의 동적 형식이 숫자가 아니면 Amazon Redshift는 NULL
을 반환합니다.
예시
다음 예제 중 일부는 TICKIT 샘플 데이터베이스를 사용합니다. 자세한 내용은 샘플 데이터베이스 섹션을 참조하세요.
주어진 판매 거래에 대해 지급된 수수료를 절사하려면 다음 예제를 사용합니다.
SELECT commission, TRUNC(commission) FROM sales WHERE salesid=784;
+------------+-------+ | commission | trunc | +------------+-------+ | 111.15 | 111 | +------------+-------+
동일한 커미션 값을 소수점 첫째 자리에서 절사하려면 다음 예제를 사용합니다.
SELECT commission, TRUNC(commission,1) FROM sales WHERE salesid=784;
+------------+-------+ | commission | trunc | +------------+-------+ | 111.15 | 111.1 | +------------+-------+
두 번째 인수의 음수 값으로 수수료를 절사하려면 다음 예제를 사용합니다. 111.15
는 110
으로 반올림됩니다.
SELECT commission, TRUNC(commission,-1) FROM sales WHERE salesid=784;
+------------+-------+ | commission | trunc | +------------+-------+ | 111.15 | 110 | +------------+-------+