У меня есть таблица, подобное этомуфункция SQL Server AVG возвращать NULL, если все значения NULL
+--+-----+----+
|ID|Entry|Exit|
+--+-----+----+
|18|32154|NULL|
+--+-----+----+
|19|NULL |NULL|
+--+-----+----+
Когда я выбираю AVG (запись) это правильно дает мне 32154, когда я выбираю AVG (Выход) его взрывается, говоря: «Тип оператора типа данных операндов недействителен для оператора avg».
Как я могу получить NULL как среднее значение для столбца, который имеет только значения NULL?
Спасибо,
Какой тип данных является выходом? Как ясно сказано в сообщении об ошибке, его тип данных несовместим с AVG. – Pondlife
Тип данных - float, и в сообщении об ошибке указано, что void (NULL) несовместим. Проблема здесь в том, что AVG (NULL) возвращает ошибку вместо NULL. –
Тогда что-то странно, потому что «void type» в ошибке предполагает, что это не настоящая таблица, а производная таблица. См. Здесь: http://blog.sqlauthority.com/2011/06/27/sql-server-puzzle-involving-null-resolve-error-operand-data-type-void-type-is-invalid-for-sum -оператор/ – Pondlife