PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Hitung jumlah kolom waktu di PostgreSql

Apa yang Anda inginkan, tidak mungkin. Tetapi Anda mungkin salah memahami time ketik :ini mewakili titik waktu yang tepat dalam sehari. Tidak masuk akal, untuk menambahkan dua (atau lebih) kali. f.ex. '14:00' + '14:00' = '28:00' (tapi tidak ada jam ke-28 dalam sehari).

Yang mungkin Anda inginkan adalah interval (yang mewakili interval waktu; jam, menit, atau bahkan tahun). sum() mendukung interval argumen.

Jika Anda menggunakan interval, sesederhana itu:

SELECT sum(interval_col) FROM my_table;

Meskipun, jika Anda tetap berpegang pada time ketik (tetapi Anda tidak punya alasan untuk melakukan itu), Anda dapat melemparkannya ke interval untuk menghitung dengan itu:

SELECT sum(time_col::interval) FROM my_table;

Tapi sekali lagi, hasilnya adalah interval , karena time nilai tidak boleh melebihi jam ke-24 dalam sehari.

Catatan :PostgreSQL bahkan akan melakukan pemeran untuk Anda, jadi sum(time_col) seharusnya bekerja juga, tetapi hasilnya adalah interval dalam hal ini juga.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ubah semua catatan di postgres ke Titlecase, huruf besar pertama

  2. Audit data dinamis dengan pemicu PostgreSQL

  3. hasMany memanggil dengan sesuatu yang bukan turunan dari Sequelize.Model

  4. Paksa Liquibase untuk memetakan Blob ke BYTEA di PostgreSQL

  5. PostgreSQL:Apakah ada fungsi yang akan mengubah int base-10 menjadi string base-36?