반응형
출처 : https://stackoverflow.com/questions/50494508/redshift-division-result-does-not-include-decimals
Redshift의 나누기 결과는 소수점을 포함하지 않습니다.
저는 Redshift에서 2개의 열을 나눈 퍼센트를 계산하기 위해 매우 기초적인 연산을 시도하였습니다. 하지만, 제가 다음 쿼리를 실행하였을 때 그 결과는 그냥 0이 나오고 소수점이 커버되지 않습니다.
코드:
select 1701 / 84936;
결과:
| |컬럼?|
|-|-|
|1|0|
이것도 시도했는데
select cast(1701 / 84936 as numeric (10,10));
결과는 0.0000000000
이었습니다.
어떻게 이를 해결할 수 있을까요?
2개의 답변 중 1개를 추려냄
위는 정수 나누기입니다. 하나의 값이 적어도 숫자(정확한 데이터 타입)나 FLOAT(주의: 이는 근사의 데이터 타입) 타입임을 보장해야 합니다.
It is integer division. Make sure that at least one argument is: NUMERIC(accurate data type)/FLOAT(caution: it's approximate data type):
/ 나누기 (정수 나누기는 결과를 버립니다.)
select 1701.0 / 84936;
-- or
SELECT 1.0 * 1701 / 84936;
-- or
SELECT CAST(1701 AS NUMERIC(10,4))/84936;
반응형
'SQL' 카테고리의 다른 글
MySQL로 어제와 CURDATE() 얻기 (0) | 2020.11.05 |
---|---|
조건과 함께 중복제거 개수 세기(COUNT DISTINCT with CONDITIONS) (0) | 2020.11.01 |
postgresql에서 년월로 결과 쿼리를 그룹화하기 (0) | 2020.10.18 |
mysql에서 문자열을 float으로 어떻게 형변환 할 수 있을까요? (0) | 2020.10.05 |
INSERT INTO … SELECT FROM … ON DUPLICATE KEY UPDATE (0) | 2020.02.26 |