[Athena] 소숫점 변환 방법

3201 단어 awssqlathenaathena
  • 기본적으로 presto는 정수형 데이터끼리 연산시 정수형으로만 반환되는 특징이 있다. 나눗셈도 예외가 없는데 1/3 을 소숫점 단위로 보려면 모든 열에 cast( as double) 을 감싸줘야 한다. 두 번째 방법을 사용하면 좀더 간편하게 소숫점연산이 가능하다.
  1. cast( {수치값열} as double)
  2. {수치값열} * 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

좋은 웹페이지 즐겨찾기