【发布时间】:2011-04-21 22:08:01
【问题描述】:
如何在 T-SQL 中修复此错误?以下行成功执行:
SET @dPERCENT_QC_COMPLETED = CASE WHEN @NUM_QC_RECEIVED = 0
THEN 0
ELSE @NUM_QC_COMPLETED / @NUM_QC_RECEIVED
END
但是这一行失败,错误代码如下:
SET @dPERCENT_QC_COMPLETED = CASE WHEN @NUM_QC_RECEIVED = 0
THEN 0
ELSE (100 * @NUM_QC_COMPLETED / @NUM_QC_RECEIVED)
END
消息 8115,第 16 级,状态 8,第 73 行 将 int 转换为数据类型 numeric 的算术溢出错误。
@dPERCENT_QC_COMPLETED 是一个小数 (2)。其他变量是整数。我认为的问题是当前这些其他整数值 = 1,所以这个表达式的计算结果为 1。
【问题讨论】:
标签: tsql