tsql铸造到钱轮
将varchar值转换为货币时,它将值四舍五入到最接近的0.10,如何防止这种四舍五入tsql铸造到钱轮,tsql,casting,currency,Tsql,Casting,Currency,将varchar值转换为货币时,它将值四舍五入到最接近的0.10,如何防止这种四舍五入 更新:我发现了问题。在子查询中,值从varchar转换为FLOAT,然后我尝试从FLOAT转换为MONEY。我不确定我是否理解您的问题 当查看下面的代码时 DECLARE @money AS MONEY, @varchar AS VARCHAR(20) SET @varchar = '1000.456789' SELECT CAST(@varchar AS MONEY) SELECT @m
更新:我发现了问题。在子查询中,值从varchar转换为FLOAT,然后我尝试从FLOAT转换为MONEY。我不确定我是否理解您的问题 当查看下面的代码时
DECLARE @money AS MONEY,
@varchar AS VARCHAR(20)
SET @varchar = '1000.456789'
SELECT CAST(@varchar AS MONEY)
SELECT @money = @varchar
SELECT @money
它四舍五入到最接近的第四位小数,而不是第一位小数。请参阅布拉德·舒尔茨(Brad Schulz)关于这个主题的这篇非常有趣的博文: 他主张,出于各种原因,甚至从不使用MONEY数据类型——有趣且发人深省 马克