Câu trả lời phụ thuộc vào loại dữ liệu thực tế của cột salary . Điểm mấu chốt là round() trong Postgres không cho phép float s (chỉ numeric được hỗ trợ).
Nếu bạn đang xử lý một numeric kiểu dữ liệu, sau đó, trước tiên bạn có thể round() , sau đó truyền đến float :
round(avg(salary), 2)::float
Nếu bạn đang xử lý một float thì bạn sẽ cần truyền kết quả của hàm tổng hợp trước khi sử dụng round() trên đó:
round(avg(salary)::numeric, 2)::float