【问题标题】:Stored procedure not saving decimal number as expected存储过程未按预期保存十进制数
【发布时间】:2013-09-11 08:22:20
【问题描述】:

我有一个存储过程,我在其中声明了一个十进制变量

@Limit decimal

我从一个 C# 应用程序传递了一个值 200.5,并使用一个普通的、非常基本的插入语句将该值插入到一个表中。该值保存为 201.00,似乎由于某种原因该值被四舍五入。

限制的类型是小数(10,2),知道为什么会发生这种情况。

【问题讨论】:

    标签: sql-server stored-procedures


    【解决方案1】:

    在不声明精确精度和缩放的情况下,@Limit 变量默认为 decimal(18,0) 类型。 声明为declare @Limit decimal(10,2)

    【讨论】:

      【解决方案2】:

      需要在参数声明中声明精度和小数位数——默认为18,0

       @Limit decimal(10,2)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-08-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-12-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多