:iSeries AS/400 데이터베이스에 대해 T-SQL을 사용하여 두 정수 값의 나누기를 10 진수로 변환하려면 어떻게합니까? 다음 쿼리 가정
SELECT
ID,
COUNT(1) AS NumRecords,
SUM(Quantity) AS TotalQty
SUM(Quantity)/COUNT(1) AS Avg
FROM SOME_TABLE
GROUP BY ID
는 지금은 반환
ID NumRecords TotalQty Avg
1 15 6 2
가 나는 그것이 Avg
(즉, "2.5")에 대한 2의 규모와 소수점 값을 반환합니다.
나는 DECIMAL, NUMERIC, FLOAT 및 VARCHAR로 계산을 시도했지만 항상 INTEGER를 리턴합니다. CAST
CAST (SUM (수량) (10, 2)/CAST (COUNT를 곱하면 정밀도 후미 제로의 개수에 의해 결정될 것이다 사용 (1) DECIMAL (10, 2)) 결과는 소수점 21 자리를 반환합니다 –
전체 계산에 대해 또 다른 CAST가 필요합니다. 따라서 눈금을 지정하려면 입력 값과 계산 전체에 대해 필요합니다 –
@Eric - 한 입력을' decimal'을 사용하면 리턴 값을보다 예측 가능하게 만들 수 있습니다. –