我正在运行 SQL Server 2012
SELECT
0.15 * 30 / 360,
0.15 / 360 * 30
Run Code Online (Sandbox Code Playgroud)
结果:
0.012500,
0.012480
Run Code Online (Sandbox Code Playgroud)
这个对我来说更令人困惑:
DECLARE @N INT = 360
DECLARE @I DECIMAL(38,26) = 0.15 * 30 / 360
DECLARE @C DECIMAL(38,26) = 1000000
SELECT @C * @I * POWER(1 + @I, @N) / ( POWER(1 + @I, @N) - 1 )
SELECT @C * (@I * POWER(1 + @I, @N) / ( POWER(1 + @I, @N) - 1 ) )
Run Code Online (Sandbox Code Playgroud)
第一个选择给了我正确的结果:12644.44022 第二个截断结果:12644.00000