BigQuery TRUNC 함수
32.16에 다음과 같이 TRUNC를 적용하여 소수점 아래 둘쨋자리까지 출력하게 하면 이상하게도 32.15가 출력된다.
SELECT TRUNC(32.16, 2) AS result;
result | |
---|---|
0 | 32.1500 |
NUMERIC으로 캐스팅한 후 TRUNC 함수 적용
32.16을 NUMERIC으로 캐스팅한 후 TRUNC를 적용하면 이상없이 잘 출력된다.
SELECT TRUNC(CAST(32.16 AS NUMERIC), 2) AS result;
result | |
---|---|
0 | 32.160000000 |
문자열 필드 소수점 버림 TRUNC 하기
문자열 컬럼인 경우 아래와 같이 NUMERIC으로 캐스팅한 후 이 값에 TRUNC를 적용하면 된다.
with cte as (
select "12" as area
union all
select "12.1" as area
union all
select "12.12" as area
union all
select "12.123" as area
) select cte.area,
SAFE_CAST(cte.area AS NUMERIC) as numArea,
TRUNC(SAFE_CAST(cte.area AS NUMERIC), 2) as result,
from cte
;
댓글남기기