在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,因为舍入不会删除尾随零
答案 0 :(得分:1)
SQL Server 2014具有FORMAT
功能。
如果将价格四舍五入为2位小数,则格式字符串应如下所示:
FORMAT(ROUND(UnitPrice, 2), '0.##')
事实上,您不需要明确ROUND
,FORMAT
会以任何方式执行此操作:
FORMAT(UnitPrice, '0.##')
答案 1 :(得分:0)
这是一个黑客攻击,假设你总是有一个小数位。
create table t1 (col1 decimal (5,2));
insert into t1 (col1) values (10.00)
insert into t1 (col1) values (10.50)
select case col1 % 1
when 0 then PARSENAME(col1, 2)
else col1
end
from t1