我收到此错误
将float转换为数据类型numeric
的算术溢出错误
当我尝试运行我的视图但不确定我的计算错误是什么时。我已经研究过,但到目前为止还无法解决。
以下是导致错误的代码行:
ISNULL(CAST(CAST(TOTAL_APPTS.APPT_CNT AS FLOAT) / TOTAL_RECS.PAT_CNT AS NUMERIC(3, 2)), 0) AS [CONVERSION RATE]
答案 0 :(得分:16)
您对NUMERIC的精确度和比例参数非常小。你试过增加那些吗?您的数值只能处理最高9.99的数字。
你应该仔细阅读这个页面:
http://msdn.microsoft.com/en-us/library/ms187746.aspx
这里解释太多了,但基本上第一个参数(精度)是最大位数(在你的情况下为3),第二个参数(scale)是小数点右边的位数,它总是会占用小数点左边的数字位数。因此,在您的情况下,小数点左侧允许3-2 = 1位数,这就是为什么您的最大值只能是9.99。