PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Modification du type de données en flottant et arrondi à 2 chiffres décimaux

La réponse dépend du type de données réel de la colonne salary . Le point clé est que round() dans Postgres n'autorise pas float s (uniquement numeric sont pris en charge).

Si vous avez affaire à un numeric type de données, alors vous pouvez d'abord round() , puis transtypé en float :

round(avg(salary), 2)::float

Si vous avez affaire à un float colonne, alors vous devrez caster le résultat de la fonction d'agrégation avant d'utiliser round() dessus :

round(avg(salary)::numeric, 2)::float