当将一个varchar值转换为MONEY时,它将值舍入到最接近的0.10,我该如何防止这个舍入?tsql强制转换为金钱
更新:我发现了这个问题。在子查询中,值是从varchar到FLOAT的CAST,然后我试图从FLOAT到MONEY进行CAST。
当将一个varchar值转换为MONEY时,它将值舍入到最接近的0.10,我该如何防止这个舍入?tsql强制转换为金钱
更新:我发现了这个问题。在子查询中,值是从varchar到FLOAT的CAST,然后我试图从FLOAT到MONEY进行CAST。
我不知道我明白你的问题。
当在代码看下面
DECLARE @money AS MONEY,
@varchar AS VARCHAR(20)
SET @varchar = '1000.456789'
SELECT CAST(@varchar AS MONEY)
SELECT @money = @varchar
SELECT @money
它被四舍五入到最近的4小数,而不是第一个小数。
非常感谢您的联系! – abatishchev 2009-11-12 07:42:33
很有意思,谢谢! – StevenMcD 2009-11-12 12:06:02