-1

我正在尝试计算Avg()使用 SQL Server Management Studio 2008 计算具有 where 条件的列。当我AVG(column-name)在 SQL 查询中尝试时,它给了我一个四舍五入的值而不是十进制值。

当我将数据集复制到 MS Excel 中时,我在 SQL 中得到了小数点后 4 位的准确值(例如:10.74),我只得到了 10。感谢任何帮助。

我的查询:

SELECT Item, AVG(POOrdrQty) 
FROM [tableWR] 
where Item ='737' AND POOrdrQty <((select AVG([POOrdrQty]) FROM [tableWR]) * 2) 
group by Item
4

2 回答 2

4

聚合的结果类型与avg您用作参数的值类型相同。如果字段是int,则结果将四舍五入以适合类型。

转换您用作参数的值:avg(cast(column-name as float))

于 2013-08-28T17:14:32.620 回答
0

avg(column_name * 1.0) 将数据类型转换为浮点数

于 2020-08-12T16:25:17.660 回答