데이터베이스/MSSQL
expression을(를) 데이터 형식 int(으)로 변환하는 중 산술 오버플로 오류가 발생했습니다.
죠부니
2018. 11. 19. 11:14
반응형
int값을 SUM했을때 오류발생시
int값은 SUM을 해도 최대 21억의 값이 넘어가면 오버플로우가 발생한다.
데이터 형식 | 범위 | 저장소 |
---|---|---|
bigint | -2^63(-9,223,372,036,854,775,808) ~ 2^63-1(9,223,372,036,854,775,807) | 8바이트 |
int | -2^31(-2,147,483,648) ~ 2^31-1(2,147,483,647) | 4바이트 |
smallint | -2^15(-32,768) ~ 2^15-1(32,767) | 2바이트 |
tinyint | 0 ~ 255 | 1바이 |
int값을 bigint값으로 변환하여 처리한다
CONVERT
BIGINT
CONVERT(BIGINT, COLUMN)
SELECT SUM(CONVERT(BIGINT, 컬럼)) AS TOTAL , FROM TEMP TABLE
반응형