PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Tính tổng cột thời gian trong PostgreSql

Điều bạn muốn, không thể thực hiện được. Nhưng có thể bạn đã hiểu nhầm time :nó đại diện cho một mốc thời gian chính xác trong một ngày. Thêm hai (hoặc nhiều) lần cũng không có ý nghĩa gì. f.ex. '14:00' + '14:00' = '28:00' (nhưng không có giờ thứ 28 trong một ngày).

Điều bạn có thể muốn, là interval (đại diện cho khoảng thời gian; giờ, phút hoặc thậm chí năm). sum() hỗ trợ interval đối số.

Nếu bạn sử dụng các khoảng thời gian, nó chỉ đơn giản như vậy:

SELECT sum(interval_col) FROM my_table;

Mặc dù, nếu bạn tuân theo time nhập (nhưng bạn không có lý do gì để làm điều đó), bạn có thể truyền nó đến interval để tính toán với nó:

SELECT sum(time_col::interval) FROM my_table;

Nhưng một lần nữa, kết quả sẽ là interval , bởi vì time giá trị không được vượt quá 24 giờ trong một ngày.

Lưu ý :PostgreSQL thậm chí sẽ thực hiện việc truyền cho bạn, vì vậy sum(time_col) cũng nên hoạt động, nhưng kết quả là interval trong trường hợp này cũng vậy.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sắp xếp kết quả truy vấn theo chuỗi số trong django (phụ trợ postgres)

  2. Cách hoạt động của Abs () trong PostgreSQL

  3. 3 cách liệt kê tất cả các thủ tục được lưu trữ tham chiếu đến một bảng trong PostgreSQL

  4. Tính tổng cột thời gian trong PostgreSql

  5. LoạiORM Bộ lọc OneToMany trong quan hệ không có hiệu lực để dẫn đến kết quả