代码之家  ›  专栏  ›  技术社区  ›  Foxfire And Burns And Burns

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

  •  0
  • Foxfire And Burns And Burns  · 技术社区  · 5 年前

    我正在对accessdatabase200732位做一些简单的事情。

    有这张桌子:

    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;
    

    它按预期工作,并精确返回值:

    enter image description here

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

    我得到了一些数值的超小数。

    enter image description here

    不知道这些小数是从哪里来的。

    我想要什么 :我只想创建一个不加小数的分组查询。

    提前谢谢。

    1 回复  |  直到 5 年前
        1
  •  1
  •   Erik A    5 年前

    如果需要精确的结果,请在执行任何操作之前强制转换为精确的类型。或者,更好的是,首先使用精确的(非浮点)类型。

    看来你的价值观符合 Currency 数据类型。这个 Decimal 数据类型可用于带小数的较大值。

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