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