SUM 집계 함수
SUM 함수는 숫자 세트의 합계를 리턴합니다.
스키마는 SYSIBM입니다.
인수 값은 임의의 내장 숫자 데이터 유형일 수 있으며, 그 합계는 결과의 데이터 유형 범위 내에 있어야 합니다.
인수는 문자열 또는 그래픽 문자열 데이터 유형일 수도 있습니다. 문자열 입력은 암시적으로 DECFLOAT(34)의 숫자 값으로 변환됩니다.
결과의 데이터 유형은 다음과 같이 결정됩니다
- DECFLOAT(34) 인수가 DECFLOAT(n) 인 경우.
- 인수가 작은 정수일 경우 큰 정수입니다.
- 인수가 단일 정밀도 부동 소수점인 경우, 이중 정밀도 부동 소수점.
- 그렇지 않으면, 결과는 인수의 데이터 유형과 동일합니다.
결과는 널(null)일 수 있습니다.
인수 값의 데이터 유형이 십진수인 경우, 결과의 스케일은 인수 값의 스케일과 동일하며, 결과의 정밀도는 인수 값의 정밀도와 십진수 정밀도 옵션에 따라 달라집니다
- 인수 값의 정밀도가 15보다 크거나, " DEC31 " 옵션이 적용된 경우, 결과의 정밀도는
min(31,P+10)이고, 여기서 P 는 인수 값의 정밀도입니다. - 그렇지 않으면 결과의 정확도는 15입니다.
함수는 널(NULL) 값을 제거하여 인수 값에서 파생된 값 세트에 적용됩니다. DISTINCT가 지정되면 불필요한 중복 값 또한 제거됩니다.
함수가 빈 집합에 적용되면 결과는 null 값입니다. 그렇지 않으면 결과는 세트의 값 합계입니다. 합산이 수행되는 순서는 정의되어 있지 않지만, 모든 중간 결과는 결과 데이터 유형의 범위 내에 있어야 합니다.
예 : 표 DSN8C10.EMP에 표시된 직원들의 모든 수입원(급여, 커미션, 보너스)의 총 수입을 큰 정수 호스트 변수 INCOME에 설정합니다. DEC31 이 적용되지 않으면, 세 열 모두 DECIMAL(9,2)이기 때문에 결과 합계는 DECIMAL(15,2)가 됩니다.
EXEC SQL SELECT SUM(SALARY+COMM+BONUS)
INTO :INCOME
FROM DSN8C10.EMP;