簡體   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