我需要 SQL 专家的帮助。我正在尝试获取小数点后 4 位的数据。我正在对“金钱”类型进行一些计算。然而,计算并不符合我的喜好。
下面是一个具有常规数字和相同货币类型值的示例。
DECLARE @MaxAmt money
DECLARE @MinAmt money
SET @MaxAmt = 207998693.55
SET @MinAmt = 20799442.35
SELECT
((207998693.55 - 20799442.35) / 2 + 20799442.35) / 24 AS Col1,
((@MaxAmt - @MinAmt) / 2 + @MinAmt) / 24 AS Col2
Col1 显示的值等于 4766627.831250000 而 Col2 的值是 4766627.8312。
我的目标是只显示 4 位十进制数字,但它应该是正确的。我期望 4766627.8313 值。
投射后会显示。
SELECT CAST(((207998693.55 - 20799442.35) / 2 + 20799442.35) / 24 AS DECIMAL(12,4))
但是当我处理货币类型时,我的小数点后值是 .8312 而不是 .8313