Mir's 운영환경
본체 MacBook Pro
O S Windows7 Ultimate K (Service Pack 1)
APP Microsoft SQL Server Management Studio  2017 V17.2
MS-SQL Micorsoft SQL Server 2016(SP1-CU5)

산술 오버플로 오류 해결하기


※MS-SQL Exception을 해결하자.

산술 오버플로 오류는 간단히 말해서 숫자형이 수용할수 있는 값이 허용 범위를 넘어서 발생한 오류이다.

필자는 NUMERIC를 사용할때 자주 발생한거 같다. (소수점까지의 합계나 평균등을 구할때)

아래처럼 명령을 내릴경우 에러가 발생한다.

    SELECT CONVERT(NUMERIC(3,2), 10.1125481 / 0.3)  -- 에러발생
    

해결방법은 간단하다 범위를 늘려주면 간단히 해결된다.

    SELECT CONVERT(NUMERIC(5,2), 10.1125481 / 0.3)  -- 정상작동
    

INT형은 약 21억까지 가져오는데 혹시 INT형에서 문제가 생기면 BIGINT로 CONVERT시켜주면 해결된다.

(출력에는 21억까지 나올수가 없는데 내부에서 계산도중 21억이 넘어가도 에러가 발생한다.)

    SELECT CONVERT(INT, 3011254815)     -- 에러발생
    SELECT CONVERT(BIGINT, 3011254815)  -- 정상작동
    


보고 있는 글과 같이 보면 좋은 글들..


+ Recent posts