将浮点数转换为十进制时出现错误
问题描述:
将数据从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)
同样的错误。
答
您是否在寻找数据库中最大的值?
select max(Purity)
from t;
,并在这Purity
确实是一个字符串的情况下,你可能有其他的事情正在进行。因此,您可以尝试:
select max(convert(purity, 18, 6)) -- or something like this
from t;
select max()发现值为9845(无小数),所以存在我的问题。谢谢。 – BattlFrog