Access 在查询中分组时添加额外的小数

Access adds extra decimals when grouping in query

没有找到解决这个问题的方法。

我正在 Access Database 2007 32 位上做一些简单的事情。

知道了table:

Id_iva  Desde       Hasta       Valor_Iva
2       01/01/2000  31/08/2012  18,00%
4       01/09/2012  31/12/2021  21,00%
5       01/01/2022  31/12/2099  25,00%

Valor_iva为数值字段,类型。我手动输入这些数字,只有 2 位小数(在这种情况下它们都是 0,但它可能是 18,50% 或 20,23% 等等)

如果我这样查询:

SELECT T_IVA.Hasta, T_IVA.Valor_Iva FROM T_IVA;

它按预期工作并且 returns 完全符合以下值:

但是如果我的查询是这样的:

SELECT T_IVA.Hasta, Sum(T_IVA.Valor_Iva) AS SumaDeValor_Iva FROM T_IVA GROUP BY T_IVA.Hasta;

我在某些值中得到了小数点后缀。

不明白那些小数是从哪里来的。

我在谷歌上搜索了 CAST 和 TRUNCATE,但我无法应用它们(或者我不知道如何应用)。

我想要什么:我只想创建一个不添加这些小数的 GROUP BY 查询。

提前致谢。

如果您想要精确的结果,请在执行任何操作之前转换为精确的类型。或者,更好的是,首先使用精确的(non-floating 点)类型。

您的值似乎符合 Currency 数据类型。 Decimal 数据类型可用于带小数的较大值。

SELECT T_IVA.Hasta, Sum(CCur(T_IVA.Valor_Iva)) AS SumaDeValor_Iva FROM T_IVA GROUP BY T_IVA.Hasta;