2017-10-13 4 views
1

데이터를 flost에서 decimal (5,2)로 이동합니다. 가장 큰 가치는 내가 int를 찾을 수있는 기존의 데이터는 94.23이지만 십진수로 변환하려고하면 오류가 발생합니다.float를 십진수로 캐스팅 할 때 오류가 발생합니다.

Arithmetic overflow error converting float to data type numeric. 

캐스팅하지 않고 똑바로 복사하려고 시도했지만 오류가 발생했습니다. 그럼 먼저 주조 해 보았습니다.

 CAST(Purity as decimal(5,2)) 

같은 오류가 발생했습니다.

ISNULL(CAST(Purity as decimal(5,2)),0) 

같은 오류가 :

은 또한 거기에 널링 그래서 시도가 나타났습니다.

답변

1

데이터베이스에서 가장 큰 값을 찾았습니까?

select max(Purity) 
from t; 

그리고, Purity 정말 문자열하는 경우에, 당신은 다른 일이 벌어지고있을 수 있습니다. 그래서, 시도해 볼 수 있습니다 :

select max(convert(purity, 18, 6)) -- or something like this 
from t; 
+0

select max()는 9845 (십진수가 아님) 값을 찾았습니다. 문제점이 있습니다. 감사. – BattlFrog

관련 문제