PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Изчислете сумата на колоната за време в PostgreSql

Това, което искате, не е възможно. Но вероятно не сте разбрали time тип :представлява точна времева точка в деня. Няма много смисъл да добавяте два (или повече) пъти. е.пр. '14:00' + '14:00' = '28:00' (но няма 28-ми час в деня).

Това, което вероятно искате, е interval (което представлява интервали от време; часове, минути или дори години). sum() поддържа interval аргументи.

Ако използвате интервали, това е просто:

SELECT sum(interval_col) FROM my_table;

Въпреки това, ако се придържате към time тип (но нямате причина да правите това), можете да го прехвърлите към interval за изчисляване с него:

SELECT sum(time_col::interval) FROM my_table;

Но отново резултатът ще бъде interval , защото time стойностите не могат да надвишават 24-ия час от деня.

Забележка :PostgreSQL дори ще направи прехвърлянето вместо вас, така че sum(time_col) също трябва да работи, но резултатът е interval и в този случай.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Вземете името на месеца от дата в PostgreSQL

  2. Atomikos:данните не се записват при използване на PostgreSQL

  3. Как да добавя ограничения за каскада за изтриване?

  4. Как Pi() работи в PostgreSQL

  5. Как да използвате Flask/Peewee с Heroku?