ms-access - Access 在查询中分组时添加额外的小数
问题描述
没有找到任何解决此问题的方法。
我在 Access Database 2007 32 位上做一些简单的事情。
得到这张表:
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;
它按预期工作,并准确返回值:
但如果我的查询是这样的:
SELECT T_IVA.Hasta, Sum(T_IVA.Valor_Iva) AS SumaDeValor_Iva FROM T_IVA GROUP BY T_IVA.Hasta;
我在某些值中得到小数。
无法理解这些小数来自哪里。
我用谷歌搜索了 CAST 和 TRUNCATE,但我无法应用它们(或者我不知道如何应用)。
我想要什么:我只想做一个不添加这些小数的 GROUP BY 查询。
提前致谢。
解决方案
如果您想要精确的结果,请在执行任何操作之前转换为精确的类型。或者,更好的是,首先使用精确(非浮点)类型。
您的值似乎适合Currency
数据类型。该Decimal
数据类型可用于带有小数的较大值。
SELECT T_IVA.Hasta, Sum(CCur(T_IVA.Valor_Iva)) AS SumaDeValor_Iva FROM T_IVA GROUP BY T_IVA.Hasta;
推荐阅读
- firebase - 如何协调数组创建与数组附加?
- javascript - 如何阻止函数在使用 Jquery 制作的计算器中运行
- assembly - x86 中调试寄存器的使用
- c# - 如果条件在 Jquery 中不起作用,为什么要使用 ViewBag?
- proxy - java webstart 应用程序 (jnlp) 的 SOCKs 代理设置
- php - 如何解决与 Jenssegers/Mongodb 相关的 Lumen 错误?
- node.js - Heroku 部署错误不允许 Discord.js 机器人在线出现 [NPM_CONFIG_LOGLEVEL=error]
- swift - AVAssetExportSession.exportAsynchronously 没有取得进展
- node.js - nodejs 编写一个程序,在指定时间执行对 HTTP 端点的调用
- python - 什么是仅读取文本文件中的完整单词的python代码(词法分析仅检测整个单词)?