숫자 데이터 유형에 숫자를 변환 :/30산술 오버플로 오류 나는이 서로 다른 데이터베이스에 쿼리를 실행 한
(소수 (4,2) 등 30)업데이트 표 설정 PresencePayFactor = 캐스트
하나에서 작동하지만 다른 하나에서 작동하지 않습니다. 2 데이터베이스가 SQL Server 2008 R2
"숫자를 데이터 형식 숫자로 변환하는 동안 오류가 발생했습니다."오류가 발생했습니다.
무엇이 문제 일 수 있습니까?
숫자 데이터 유형에 숫자를 변환 :/30산술 오버플로 오류 나는이 서로 다른 데이터베이스에 쿼리를 실행 한
(소수 (4,2) 등 30)업데이트 표 설정 PresencePayFactor = 캐스트
하나에서 작동하지만 다른 하나에서 작동하지 않습니다. 2 데이터베이스가 SQL Server 2008 R2
"숫자를 데이터 형식 숫자로 변환하는 동안 오류가 발생했습니다."오류가 발생했습니다.
무엇이 문제 일 수 있습니까?
둘 사이에 NUMERIC_ROUNDABORT가 다르게 설정되어 있습니까?
SET NUMERIC_ROUNDABORT OFF
GO
Declare @TestTable Table (PresencePayFactor decimal(4,2) null)
Insert @TestTable(PresencePayFactor)
Select Cast(30 As decimal(4,2))/30
GO
-- No error
SET NUMERIC_ROUNDABORT ON
GO
Declare @TestTable Table (PresencePayFactor decimal(4,2) null)
Insert @TestTable(PresencePayFactor)
Select Cast(30 As decimal(4,2))/30
-- Arithmetic overflow error converting numeric to data type numeric.
당신은 그 열이 두 데이터베이스에서 같은 방식으로 정의되어 있는지 확인 했는가? – Mat
캐스트 (십진수 (30)로 30)/30은 1.0과 같습니다. –
두 개의 다른 인스턴스에서 복원 된 동일한 데이터베이스입니다. – Boomer