2017-10-13 117 views
1

将数据从flost移动到小数点(5,2)。最大的价值,我可以找到int现有的数据是94.23,但是当我尝试转换为十进制时,它会抛出错误。将浮点数转换为十进制时出现错误

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

相关问题