14

我收到此错误

将浮点数转换为数字数据类型的算术溢出错误

当我尝试运行我的视图但不确定我的计算做错了什么时。我已经研究过,但到目前为止无法解决。

这是导致错误的代码行:

ISNULL(CAST(CAST(TOTAL_APPTS.APPT_CNT AS FLOAT) / TOTAL_RECS.PAT_CNT AS NUMERIC(3, 2)), 0) AS [CONVERSION RATE]
4

1 回答 1

26

您对 NUMERIC 的精度和比例参数非常小。你试过增加那些吗?您的数值只能处理高达 9.99 的数字。

您应该仔细阅读此页面:

十进制和数字 (Transact-SQL)

这里解释的太多了,但基本上第一个参数(精度)是最大位数(在你的情况下为 3),第二个参数(比例)是小数点右侧的位数,总是需要远离小数点左侧可以有的位数。因此,在您的情况下,小数点左侧允许 3-2 = 1 位,这就是您的最大值只能为 9.99 的原因。

于 2013-10-11T20:20:14.283 回答