繁体   English   中英

选择语句sql中的小数位

[英]Decimal place in select statement sql

我有一个完美的选择语句,我一直在使用。 但是我注意到它返回的位数不超过零。 我认为Excel在复制时已排除在外,但事实并非如此。

我试图更改格式,但小数位数仍然为零。 我已经审查了此处的所有帖子,但是由于我使用的是Case语句,所以包含起来也不容易。

Round(AVG(case when [Duration] > 0 then [Duration] end), 3) as AVGLOS,

一如既往地欢迎任何帮助。

数据类型为int

那是你的问题。

整数值的平均值始终为整数:

   declare @t table (col int);
   insert into @t values (2), (3);

   select avg(col)
   from @t;
----
2

因此,您应该操作小数,而不是像这样的整数:

   declare @t table (col int);
   insert into @t values (2), (3);

   select avg(col * 1.)
   from @t;
---
2.500000

因此,在您的情况下,只需使用以下命令:

Round(AVG(case when [Duration] > 0 then [Duration]* 1. end), 3) as AVGLOS

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM