값 1을 십진수 필드에 삽입하는 SQL Server 테이블에 대한 insert 문을 작성하려고합니다. 이 필드는 10 진수 유형 (10, 10)으로, 이해하는 한 최대 10 자리까지 올 수 있으며 소수점 이하 10 자리까지 올 수 있습니다. 나는 다음과 같은 오류가 삽입 문을 실행하려고 할 때, : 나는 진수 할 필드 (11, 10)의 데이터 유형을 변경하는 경우10 진수 필드에 정수 값을 입력 할 수없는 이유는 무엇입니까?
Arithmetic overflow error converting int to data type numeric.
을 갑자기 작동합니다. 나는 여기서 무엇을 이해하지 못 하겠는가? 내가 도대체 뭘 잘못하고있는 겁니까?
저는 여전히 혼란 스럽습니다. 스케일은 "소수점의 오른쪽에 저장할 수있는 * 최대 * 소수점 수"라고 말합니다. 즉, 10이되어야하는 것은 아닙니다. – froadie
그렇습니다. 그러나 슬라이딩 소수점을 의미하지는 않습니다. 그 의미는 오른쪽에 10 자리 미만을 제공하면 나머지는 0입니다. – Joe
@Joe, 당신이 무엇을 말하려고하는지 정확히 모르겠지만'declare @x decimal (5,2); @ x = 1.123456789를 설정하고 @x를 선택하고 @ x를 1로 설정하고 @ x'는'1.12'와'1.00'을 얻을 것입니다. 소수점을 선언하면 소수점 왼쪽과 오른쪽의 자릿수가 고정되고 소수점은 슬라이딩되지 않습니다. –