存储过程返回错误的小数点



Hello我有一个PropertiesComboBox,我使用它进行过滤,并使用存储过程填充它。但是,当在Properties ComboBox中返回值时,它们会返回额外的0。当我只希望它返回3.00 时,它返回3.0000

这是我的存储过程代码:

CREATE PROC GetPromoValueColumn @Platform varchar(30)
AS
BEGIN
    SELECT      p.Value
    FROM        PromotionalCode p
    JOIN        Application a
    ON          a.ID = p.AppID
    GROUP BY    p.Value
END

你知道为什么会发生这种事吗?

谢谢。

p。值的精度允许小数点后4位的值。

从数学上讲,3、3.0、3.00、3.000、3.0000和3.00000是相同的值:3。

这完全取决于您以对您的应用程序有意义的方式对其进行格式化。

可能您将PromotionCode.p字段定义为十进制(X,4)

X代表你的号码的总位数,4是小数位数。如果您尝试将表列重新定义为十进制(X,2),您将只看到2位小数位数。

es:

ALTER TABLE PromotionalCode MODIFY COLUMN p DECIMAL(10,2) DEFAULT NULL;
declare @id decimal(16,3) 

您需要根据您的要求设置十进制值

最新更新