舍入SQL 2位数

时间:2014-08-25 14:37:29

标签: sql vb.net dataset rounding query-builder

网上有很多可能,但它们都不适用于我。 我在我的查询中使用'ROUND'将小数舍入为2位,但当值为2.5时,函数显示2.5而不是2.50

有什么想法解决这个问题吗?请用您的解决方案重写我的查询,我会立即尝试。

ps:我在vb.net中使用此查询来填充数据集。

SELECT         
    p.ProductNaam, f.Aantal, p.Prijs, f.BasisBedrag, f.Korting, 
    ROUND(f.BasisBedrag * (f.Korting / 100.00), 2) AS Expr1005, 
    ROUND(f.BasisBedrag - f.BasisBedrag * (f.Korting / 100), 2) AS Expr1006, 
    p.Btw, 
    ROUND((f.BasisBedrag - f.BasisBedrag * (f.Korting / 100.0)) * (p.Btw / 100.0), 2) AS Expr1008, 
    f.TotaalBedrag, p.ProductID
FROM
    (tblFactuur f 
INNER JOIN
    tblProducten p ON f.ProductID = p.ProductID)
WHERE
    (f.FactuurID = '2014001')

1 个答案:

答案 0 :(得分:0)

如果您正在使用Access,我认为格式化功能可能是您正在寻找的功能。 “标准”选项将为您提供2位小数。

SELECT        p.ProductNaam, 
              f.Aantal, p.Prijs, f.BasisBedrag, f.Korting, 
              Format(ROUND(f.BasisBedrag * (f.Korting / 100.00), 2), "Standard") AS Expr1005, 
              Format(ROUND(f.BasisBedrag - f.BasisBedrag * (f.Korting / 100), 2), "Standard") AS Expr1006, 
              p.Btw, 
              Format(ROUND((f.BasisBedrag - f.BasisBedrag * (f.Korting / 100.0)) * (p.Btw / 100.0), 2), "Standard") AS Expr1008, 
              f.TotaalBedrag, p.ProductID
FROM            (tblFactuur f INNER JOIN
                     tblProducten p ON f.ProductID = p.ProductID)
WHERE        (f.FactuurID = '2014001')