在SQL查询中转换表达式(Replace和Case Statement)的算术溢出错误

时间:2017-11-19 07:15:06

标签: sql sql-server

我在运行以下查询时遇到上述错误,我尝试了几个选项,例如添加强制转换(见下文),但我仍然收到错误。

我在下面的查询中只包含了与错误相关的字段。如果我评论chiffre_daffaire_Caisse,则查询有效。谢谢你的建议

c:\

2 个答案:

答案 0 :(得分:0)

您可以使用TRY_CONVERT / CAST查找违规值,如下所示

TRY_CONVERT(DECIMAL(10,2),1)

以上查询不会失败,但对于不转换的值

将具有空值

答案 1 :(得分:0)

我找到了解决方案。

我必须cast Qty_Sold作为NumericBigInt,如下所示。

SUM(isnull(cast(((CAST(Qty_Sold AS numeric) * UnitPrice)/100) as numeric(12, 0)),0))