본문 바로가기
잡동/MSSQL

expression을(를) 데이터 형식 int(으)로 변환하는 중 산술 오버플로 오류가 발생했습니다.

by 죠부니 2018. 11. 19.
반응형

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바이트
tinyint0 ~ 2551바이


int값을 bigint값으로 변환하여 처리한다


CONVERT

https://docs.microsoft.com/ko-kr/sql/t-sql/functions/cast-and-convert-transact-sql?view=sql-server-2017

BIGINT

https://docs.microsoft.com/ko-kr/sql/t-sql/data-types/int-bigint-smallint-and-tinyint-transact-sql?view=sql-server-2017


CONVERT(BIGINT, COLUMN)


SELECT SUM(CONVERT(BIGINT, 컬럼)) AS TOTAL , FROM TEMP TABLE

반응형

'잡동 > MSSQL' 카테고리의 다른 글

날짜 쿼리 이번달  (0) 2018.11.27
BETWEEN  (0) 2018.11.20
ORDER BY string as number  (0) 2018.11.06
OFFSET FETCH 절 (페이징,LIMIT)  (0) 2018.08.08
INSERT 문의 행 값 식 수가 최대 허용 행 값 수 1000을(를) 초과합니다.  (0) 2018.08.08