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
.