PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Ändern des Datentyps in Float und Runden auf 2 Dezimalstellen

Die Antwort hängt vom tatsächlichen Datentyp der Spalte salary ab . Der Schlüsselpunkt ist das round() in Postgres erlaubt float nicht s (nur numeric Typen werden unterstützt).

Wenn Sie es mit einer numeric zu tun haben Datentyp, dann können Sie zuerst round() , dann in float umwandeln :

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

Wenn Sie es mit einem float zu tun haben -Spalte, dann müssten Sie das Ergebnis der Aggregatfunktion umwandeln, bevor Sie round() verwenden drauf:

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