정밀도가 9 인 십진수로 데이터베이스에 저장된 두 개의 숫자가 있습니다.이 두 숫자를 추가하고 데이터베이스의 값을 업데이트하는 것입니다. 내가이 SQL에 추가 할 때결과로 10 진수를 더하는 SQL : 숫자 형 데이터를 숫자로 변환하는 산술 오버플로 오류
DECLARE @v1 DECIMAL(9, 5), @v2 DECIMAL(9, 5)
SET @v1 = 9503.34000
SET @v2 = 1357.62000
SELECT CAST(@v1 + @v2 AS DECIMAL(9, 5))
는 그것이 10860.96000 결과 10.5로 변경에 그러나 오버플로 오류가 발생합니다.
내가 원하는 정밀도에 따라 결과를 추가하고 반환하도록 SQL에 지시 할 수 있습니까? 나는이 합계가 9,5 NOT 10,5를 돌려 주길 바란다.
합계의 값이 10'000 이상이므로 ** 'DECIMAL (9,5)'이 될 수 없습니다.이 숫자는 총 9 자리의 십진수이며 그 중 5 자리는 소수점 뒤에. 소수점 앞에 4 자리 *를 남겨 둡니다. 이는 결과를 보유하기에는 불충분합니다 **. –
Marc에게 감사드립니다. 디자인을 변경해야한다는 것을 깨달았습니다. – Signcodeindie