SQL AVG возвращает int
в одном из моих запросов выясняется, что AVG функция возвращает int.
select ..., AVG(e.employee_level)avg_level
как заставить его возвращать значения с плавающей запятой? Я попытался бросить его, но все мои строки для avg_level были еще целые.
3 ответов
попробуйте сделать так:
AVG(Cast(e.employee_level as Float)) as avg_level
также я нашел этой тема, где вы можете найти несколько другой подход, но я не использовал его и не знаю точно, работает ли или нет.
кастинг более уверен, но ...AVG(1.0 * e.employee_level)... может сделать это также, и может быть более разборчивыми.
возвращаемый тип AVG зависит от вычисляемого типа выражения, переданного функции.
например, если вы хотите, чтобы ваш результат был float, вам нужно убедиться, что ваш столбец или тип выражения float.
