PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Oblicz sumę czasu w kolumnie PostgreSql

To, czego chcesz, nie jest możliwe. Ale prawdopodobnie źle zrozumiałeś time wpisz :reprezentuje dokładny punkt czasowy w ciągu dnia. Nie ma sensu dodawać dwa (lub więcej) razy. np. '14:00' + '14:00' = '28:00' (ale nie ma 28 godzin dziennie).

To, czego prawdopodobnie chcesz, to interval (co reprezentuje przedziały czasowe; godziny, minuty, a nawet lata). sum() obsługuje interval argumenty.

Jeśli używasz interwałów, to jest tak proste:

SELECT sum(interval_col) FROM my_table;

Chociaż, jeśli będziesz trzymać się time wpisz (ale nie masz powodu, aby to robić), możesz rzutować go na interval obliczyć z tym:

SELECT sum(time_col::interval) FROM my_table;

Ale znowu, wynikiem będzie interval , ponieważ time wartości nie mogą przekraczać 24 godziny doby.

Uwaga :PostgreSQL wykona nawet rzutowanie za Ciebie, więc sum(time_col) też powinno działać, ale wynikiem jest interval w tym przypadku również.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak używać struktury danych pierścienia w funkcjach okien

  2. Dlaczego moje zadania Airflow są w kolejce, ale nie działają?

  3. Postgresql - tworzenie kopii zapasowej bazy danych i przywracanie na innego właściciela?

  4. Jaki jest właściwy sposób synchronizowania/importowania tabel z bazy danych postgres do elasticsearch?

  5. Jak logować instrukcje SQL w Vapor 3/Fluent?