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.