我有一个包含日期列的5000条记录的表。如何在SQL Server中查找日期列中的平均值
如何查找这些日期的平均值。我试过AVG(datefield)
,但它说Operand data type datetime is invalid for avg operator
我有一个包含日期列的5000条记录的表。如何在SQL Server中查找日期列中的平均值
如何查找这些日期的平均值。我试过AVG(datefield)
,但它说Operand data type datetime is invalid for avg operator
如果您只想平均日期:
SELECT CAST(AVG(CAST(datefield AS INT)) AS DATETIME) FROM dates;
如果你要考虑时间:
SELECT CAST(AVG(CAST(datefield AS FLOAT)) AS DATETIME) FROM dates;
见fiddle到测试。
CONVERT(DATETIME, AVG(CONVERT(FLOAT, datefield))) as [AverageDate]
http://www.bennadel.com/blog/175-Ask-Ben-Averaging-Date-Time-Stamps-In-SQL.htm – Dan
您是否尝试将其转换为浮点型然后使用AVG?我认为它可能有效。 –