繁体   English   中英

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

[英]How to remove trailing zeros from decimal number in SQL Server?

如何在SQL Server中从十进制数字中删除尾随零? 如果我在数据库中的百分比字段值为96.86,我的查询应该返回96.86,但是如果值是96.00,那么我只需要提取96。该怎么办?

您可以转换为字符串,然后修剪尾随的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)

我认为你应该使用

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM