Как найти среднее значение в столбце дат в SQL Server

У меня есть таблица из 5000 записей с столбцом даты.

Как найти среднее значение этих дат. Я пробовал AVG(datefield), но он говорит Operand data type datetime is invalid for avg operator

Ответ 1

Если вы хотите только усреднить дату:

SELECT CAST(AVG(CAST(datefield AS INT)) AS DATETIME) FROM dates;

И если вы хотите рассмотреть время:

SELECT CAST(AVG(CAST(datefield AS FLOAT)) AS DATETIME) FROM dates;

См. fiddle для тестирования.

Ответ 2

CONVERT(DATETIME, AVG(CONVERT(FLOAT, datefield))) as [AverageDate]