【发布时间】:2015-10-07 15:16:27
【问题描述】:
在 SQL Server 2014 中,我有一些带有尾随零的值以及小数点后的一些值
select top 25
ProductName, round(UnitPrice, 1) as 'Price of Products'
from
Products
这个查询返回的结果是这样的:
Chai 18.00
Chang 19.00
Aniseed Syrup 10.00
Chef Anton's Cajun Seasoning 22.00
Chef Anton's Gumbo Mix 21.40
我的问题是我是否可以删除小数点后的尾随零,同时保留可能存在的任何值,例如 21.40,而其他值仅保持为 18 或 22,因为 round 不会删除尾随零
【问题讨论】:
-
James,你解决问题的方法不对。 SQL Server 应该提供data,而不是presentation。如果您想向用户显示
18而不是18.00,请更改显示数据的组件,而不是传递数据的组件。 -
回答这个问题,是的,可以做到,但是在TSQL中做会很乱。正如@Tomalak 所说,最好在客户端进行。如果你绝对不能这样做,那么就这么说吧,我相信我们可以编写所需的 TSQL。基本上,只有在非零时才显示美分,对吗?
-
是的,这是正确的。我想在非零时显示美分,否则删除任何尾随零。所以如果是 19.40,美分会显示,但如果是 21.00,它只会显示 21
标签: sql-server rounding sql-server-2014 truncation