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ż.