본문으로 건너뛰기
최종 수정: 에

TRUNCATE

설명​

x를 소수점 이하 d자리까지 버림 처리합니다

구문​

TRUNCATE(<x>, <d>)

매개변수​

매개변수설명
<x>버림 처리할 숫자 값
<d>유지할 소수 자릿수

반환 값​

x를 소수점 이하 d자리까지 버림 처리합니다. 버림 처리 규칙은 다음과 같습니다.

d가 리터럴인 경우:

  • d > 0인 경우: x의 소수점 이하 d자리를 유지합니다.
  • d = 0인 경우: x의 소수부를 제거하고 정수부만 유지합니다.
  • d < 0인 경우: x의 소수부를 제거하고 정수부에서 d로 지정한 자릿수만큼을 숫자 0으로 바꿉니다.

d가 컬럼이고 첫 번째 인수의 타입이 Decimal이면, 결과 Decimal의 소수 자릿수는 입력 Decimal과 같습니다

예제​

d가 리터럴인 경우

select truncate(124.3867, 2),truncate(124.3867, 0),truncate(124.3867, -2);
+-----------------------+-----------------------+------------------------+
| truncate(124.3867, 2) | truncate(124.3867, 0) | truncate(124.3867, -2) |
+-----------------------+-----------------------+------------------------+
| 124.38 | 124 | 100 |
+-----------------------+-----------------------+------------------------+

d가 컬럼인 경우

select cast("123.123456" as Decimal(9,6)), number, truncate(cast ("123.123456" as Decimal(9,6)), number) from numbers("number"="5");
+---------------------------------------+--------+----------------------------------------------------------------------+
| cast('123.123456' as DECIMALV3(9, 6)) | number | truncate(cast('123.123456' as DECIMALV3(9, 6)), cast(number as INT)) |
+---------------------------------------+--------+----------------------------------------------------------------------+
| 123.123456 | 0 | 123.000000 |
| 123.123456 | 1 | 123.100000 |
| 123.123456 | 2 | 123.120000 |
| 123.123456 | 3 | 123.123000 |
| 123.123456 | 4 | 123.123400 |
+---------------------------------------+--------+----------------------------------------------------------------------+