我已经在MS Access和SQL Server中使用相同的确切数据运行StDev函数。两条数据2.32和2.32应该导致StDev为0,这是SQL Server生成的结果。 MS Acccess生成以下结果... 4.2146848510894E-08。这对我的数据库逻辑提出了严重的问题,但是我对如何解决这个问题并不感兴趣,而是如果其他人遇到类似的问题,并且如果有人知道为什么会计算出不同的结果?生成不同结果的SQL Server和MS Access Standard Deviation(StDev)函数
2
A
回答
2
StDev()
函数返回值为Double
,因此如果在执行比较的表达式中使用这些值,则必须考虑浮点错误。具体而言,在检查确切的相等性时(例如,myStDevValue=0
),绝不应使用Double
值。相反,你应该无论是
- 值被“足够接近”被认为是平等的,
或检查标准偏差的具体情况
- 值是足够大于(或小于)被认为重要(或不显着)的平均值的特定部分。
1
首先,确保您在两个系统中使用适当的数据类型。
其次,您可能会遇到MS Excel所面临的相同精度问题。参见this discussion,this MS Support article和detailed explanation on Wikipedia。
为什么区别?这两个系统是根据不同规格&要求开发的。
相关问题
- 1. Javascript等价于MS Excel Standard Deviation(STDEV)
- 2. Java Streams - Standard Deviation
- 3. MS Access Date()函数和SQL Server查询
- 4. MS Access currentdb.excute与Docmd.RunSQL的结果不同
- 5. SQL Server和MS Access 2016
- 6. 将MS SQL Server查询结果导出到MS Access
- 7. Microsoft Access SQL STDEV的数据计数
- 8. 可用于SQL Server和MS Access的COALESCE,IFNULL或NZ()函数
- 9. MS Access查询到SQL Server
- 10. SQL Server AVG和Excel AVERAGE产生不同的结果?
- 11. MS Access MAX和MIN函数没有返回正确的结果
- 12. MS Access Int和Sql Server Big INT
- 13. MS Access/SQL Server Len()Brain Teaser
- 14. SQL Server Express vs MS Access
- 15. MS Access升级到SQL Server
- 16. 从MS Access移到SQL Server
- 17. MS Access SQL Server数据库 - CAST函数的查询语法
- 18. SQL Server中的STDEV和STDEVP算法
- 19. 将MS Access从MS Access迁移到MS SQL Server
- 20. php函数strpos和substr在localhost和server中的不同结果
- 21. 如何在MS SQL Server中使用表函数结果?
- 22. MS Access 2016中的SQL Server LEAD等效函数
- 23. 相同的SQL Server(MS SQL)
- 24. SQL Server Compact与SQL Server和SQL Server Standard有什么区别?
- 25. 生成生成器和聚合结果的Python函数
- 26. pyodbc&MS SQL Server - “没有结果,以前的SQL不是查询。”
- 27. SQL Server报表生成和。如果
- 28. Access中的SQL和MS SQL Server中的SQL
- 29. POWER函数结果SQL与Excel不同
- 30. 相同的参数化SQL生成SQL返回任何结果