我已尝试过网上提供的解决方案但无法找到解决我问题的解决方案。
我的问题很简单。我在Quantity
列中有一个值:120.00
AS Decimal(18,2)
但如果只有零,我不想在小数后显示零。
表示要显示的所需值为:120
在SQL端或C#中寻找解决方案。
感谢。
答案 0 :(得分:1)
在SQL中,你可以这样做:
select (cast when quantity = floor(quantity) then cast(floor(quantity) as varchar(255))
else cast(quantity as varchar(255))
end)
我认为这对小数类型通常有用。特定的SQL引擎可能有其他功能可以提供帮助。例如,Oracle有to_char()
,SQL Server有str()
。
答案 1 :(得分:1)
如果“显示零”来自C#应用程序(问题不是很清楚),那么你可以使用ToString()和Custom Numeric Format
myDecimal.ToString("#.##");
如果存在,将返回两位小数,但如果它们全部为零则将它们排除