使用sql删除尾随零

use*_*332 8 sql t-sql sql-server

可能重复:
从SQL Server中的十进制中删除尾随零

我试图使用圆函数,并没有显示任何尾随零,但最后仍然得到一些零.我想要获得10.4但是得到这样的东西:

10.400000
Run Code Online (Sandbox Code Playgroud)

这是我的sql:

select round(AVG(CAST(k.TotalNumberDays AS numeric(12,2))),2) TotalNumber
Run Code Online (Sandbox Code Playgroud)

我怎样才能删除这里的尾随零?我只需要显示10.4.

Lou*_*cci 10

你只需要将其转换为小数(12,2).

select cast(round(AVG(CAST(k.TotalNumberDays AS numeric(12,2))),2) as decimal(12,2)) TotalNumber
Run Code Online (Sandbox Code Playgroud)


Ran*_*der 6

SQL Server支持浮点数据类型而不带尾随零,因此您可以通过将其转换为浮点数来删除尾随零.例如:

选择Cast(10.40000作为浮点数)

这将返回10.4

但是,这是一个演示问题,实际上应该在您的表示层中完成,而不是浪费资源转换为不同的数据类型.