让sql server警告截断/舍入

时间:2011-07-12 09:26:35

标签: asp.net sql-server decimal rounding truncate

我正在开发一个ASP.NET C#会计应用程序,我正处于从使用浮点数/双打到使用小数来表示钱的过渡中。

现在我想控制舍入发生的时间和地点。 我理解它的方式,SQL服务器舍入十进制数据类型不同于C#。

如果十进制值(或任何类型的数据)被截断或舍入,是否有某种方法可以让SQL server(2008)发出警告或失败?

谢谢,

1 个答案:

答案 0 :(得分:3)

查看SET NUMERIC_ROUNDABORT和使用SET ARITHABORT

的表格

这决定了是否发生任何事情。某事(错误或警告)取决于SET ARITHABORT。但是,您会收到NULL警告。

我考虑在客户端代码中进行计算,或使用宽小数(例如38,20)来缓解它