请选择 进入手机版 | 继续访问电脑版
查看: 606|回复: 0

[SQL Server] SQL Server中Money转Decimal

3万

主题

3万

帖子

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
100197
发表于 2015-11-19 18:51:25
SQL Server中Money转Decimal
                   
            
  1. DECLARE @int_digits SMALLINT,@digits SMALLINT,@total_digits SMALLINT,@sqlstr NVARCHAR(100)
  2. DECLARE @input MONEY
  3. DECLARE @f FLOAT
  4. SET @input=234214.4434
  5. SET @int_digits=floor(log10(@input))+1
  6. SET @f=@input-floor(@input)
  7. SELECT @digits=case LEN(CAST(@f AS VARCHAR))-2
  8. WHEN -1 THEN 2
  9. WHEN 1 THEN 2
  10. WHEN 2 THEN 2
  11. WHEN 3 THEN 3
  12. ELSE 4
  13. END
  14. SET @total_digits=@int_digits+1+@digits
  15. SET @sqlstr=N'SELECT CAST('+STR(@input,@total_digits,@total_digits)+' AS DECIMAL('+STR(@total_digits)+N','+STR(@digits)+N'))'
  16. exec sp_executesql @sqlstr
复制代码


回复

使用道具 举报