Vad du vill, är inte möjligt. Men du har förmodligen missförstått time
typ
:den representerar en exakt tidpunkt på en dag. Det är inte mycket meningsfullt att lägga till två (eller fler) gånger. t.ex. '14:00' + '14:00' = '28:00'
(men det finns inga 28:e timmen på en dag).
Det du förmodligen vill ha är interval
(som representerar tidsintervall; timmar, minuter eller till och med år). sum()
stöder interval
argument.
Om du använder intervaller är det bara så enkelt:
SELECT sum(interval_col) FROM my_table;
Fast om du håller dig till time
typ (men du har ingen anledning att göra det), kan du casta den till interval
att räkna med det:
SELECT sum(time_col::interval) FROM my_table;
Men återigen, resultatet blir interval
, eftersom time
värden får inte överstiga den 24:e timmen på en dag.
Obs :PostgreSQL kommer till och med att göra casten åt dig, så sum(time_col)
borde fungera också, men resultatet är interval
även i detta fall.