Ce que vous voulez, n'est pas possible. Mais vous avez probablement mal compris le time
taper
:il représente un instant précis dans une journée. Cela n'a pas beaucoup de sens d'ajouter deux fois (ou plus). ex. '14:00' + '14:00' = '28:00'
(mais il n'y a pas de 28ème heure dans une journée).
Ce que vous voulez probablement, c'est interval
(qui représente des intervalles de temps ; des heures, des minutes ou même des années). sum()
prend en charge interval
arguments.
Si vous utilisez des intervalles, c'est aussi simple que cela :
SELECT sum(interval_col) FROM my_table;
Bien que, si vous vous en tenez à l'time
type (mais vous n'avez aucune raison de le faire), vous pouvez le convertir en interval
pour calculer avec :
SELECT sum(time_col::interval) FROM my_table;
Mais encore une fois, le résultat sera interval
, car time
les valeurs ne peuvent pas dépasser la 24e heure d'une journée.
Remarque :PostgreSQL fera même le cast pour vous, donc sum(time_col)
devrait fonctionner aussi, mais le résultat est interval
dans ce cas aussi.