SQL AVG, возвращающий int

В одном из моих запросов оказывается, что функция AVG возвращает int.

select ..., AVG(e.employee_level)avg_level

Как заставить его возвращать значения с плавающей запятой? Я попробовал кастинг, но все мои строки для avg_level были целыми.

Ответ 1

Попробуйте сделать это следующим образом:

AVG(Cast(e.employee_level as Float)) as avg_level

Также я нашел эту тему, где вы можете найти какой-то другой подход, но я не использовал его и не знаю точно, работает ли он или нет.

Ответ 2

Кастинг более определен, но ...AVG(1.0 * e.employee_level)... может сделать это также и может быть более разборчивым.