如何从SQL Server中的十进制数中删除尾随零?

时间:2018-06-04 10:29:16

标签: sql sql-server-2012

如何从SQL Server中的十进制数中删除尾随零? 如果我在数据库中有百分比字段,值为96.86,我的查询应返回96.86,但如果值为96.00,那么我只需要获取96.如何做到这一点?

2 个答案:

答案 0 :(得分:0)

您可以转换为字符串,然后修剪尾随的0字符。不幸的是,SQL Server没有真正强大的字符串函数。以下做了你想做的事:

select (case when nn like '%.' then replace(nn, '.', '') else nn end)
from (select 96.86 as n union all select 96) t cross apply
     (values (ltrim(rtrim(replace(cast(n as varchar(255)), '0', ' '))))) v(nn)

答案 1 :(得分:0)

我认为你应该使用

select cast(CAST(25.00 as decimal(18,5)) as float)

它返回25但你施放

   select cast(CAST(25.23 as decimal(18,5)) as float)

它返回25.23