[Athena] 소숫점 변환 방법
- 기본적으로 presto는 정수형 데이터끼리 연산시 정수형으로만 반환되는 특징이 있다. 나눗셈도 예외가 없는데 1/3 을 소숫점 단위로 보려면 모든 열에 cast( as double) 을 감싸줘야 한다. 두 번째 방법을 사용하면 좀더 간편하게 소숫점연산이 가능하다.
- 링크를 참고해서 정리했다. https://skeptric.com/presto-max_by/
- cast( {수치값열} as double)
- {수치값열} * 1e0
WITH dummy AS (
select *
from unnest(sequence(0, 100, 10), sequence(100, 200, 10)) t(a1, a2)
)
SELECT
a1,
a2,
a1/a2 AS origin_divide,
CAST(a1 AS double)/CAST(a2 AS double) AS ASIS,
"a1"*1e0 / "a2"*1e0 AS TOBE, -- "컬럼명"에 쌍따옴표를 하는 이유는 1e0 곱할시 혼동이 될까해서 추가.
a1*1e0/a2*1e0 AS TOBE2 -- 쌍따옴표를 안해도 동일한 결과.
FROM dummy
Author And Source
이 문제에 관하여([Athena] 소숫점 변환 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@2innnnn0/Athena-소숫점-변환-방법저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)