在SQL中如何将money数据类型转换为十进制?

7 sql types currency decimal

我想将money数据类型转换为小数,因为我想将结果记录到8位小数.

例如,在货币汇率表中,我将汇率存储为2871047428.20作为货币数据类型; 使用Microsoft SQL Management Studio,我希望将其除以10000000以实现结果287.10474282; 但实际上我得到的结果是287.1047.

我相信我只获得4位小数的原因是因为它是money数据类型,因此我认为前进的方法是将其转换为十进制数据类型....

spl*_*tne 7

这里比较左列的十进制值,右列的计算货币值:

DECLARE @money AS money
SET @money = 2871047428.20
SELECT CAST(@money AS decimal(34,4)) / 10000000, @money / 10000000
Run Code Online (Sandbox Code Playgroud)

另请参见Stack Overflow: