日期:2014-05-18  浏览次数:20601 次

怎样sql把419.200变成419.2
如标题所示

------解决方案--------------------
declare @a decimal(10,3)
set @a= '419.200 '
-- 如果小数点后保留一位小数,这种就可以了
select Convert(decimal(10,1),@a)
-- 如果 只是去掉 小数点最后的0,位数不固定 用这种
select reverse(Convert(nvarchar,Convert(float,reverse(@a))))


------解决方案--------------------
declare @a nvarchar(20)
set @a= '419.2100 '
select reverse(Convert(nvarchar,Convert(float,reverse(@a))))

set @a= '419.205600 '
select reverse(Convert(nvarchar,Convert(float,reverse(@a))))

------解决方案--------------------
declare @i as decimal(18,3)
set @i = 419.200

select cast(@i as decimal(18,1)) as i

/*
i
--------------------
419.2

(所影响的行数为 1 行)
*/