我有一个非常奇怪的场景,我相信这是一个解释.
我试图计算一些东西,这里是值:
SELECT 145.28/63 *(8 * 100) / 100 -- returns: 18.4482480000
Run Code Online (Sandbox Code Playgroud)
问题是这不正确,如果我用Windows Calculator进行计算,那么它会返回一个更精确的值:
145,28/63*(8 - 0*100)/ 100 = 18,44825396825397
我不得不改变很多以使它与SQL Server一起工作:
SELECT 145.28 * 100 * 8 / (100 * 63) --RETURNS: 18.4482539682539
Run Code Online (Sandbox Code Playgroud)
为什么我需要更改SQL Server中的数字,而不是在Windows中?
在Navision编程中,它返回正确的值18.4482539682539682