sql >> Databáze >  >> RDS >> PostgreSQL

Vypočítejte součet sloupce času v PostgreSql

Co chcete, není možné. Pravděpodobně jste ale špatně pochopili time typ :představuje přesný časový bod v rámci dne. Nemá moc smysl přidávat dvakrát (nebo vícekrát). např. '14:00' + '14:00' = '28:00' (ale den nemá 28. hodinu).

To, co pravděpodobně chcete, je interval (což představuje časové intervaly; hodiny, minuty nebo dokonce roky). sum() podporuje interval argumenty.

Pokud používáte intervaly, je to tak jednoduché:

SELECT sum(interval_col) FROM my_table;

I když, pokud se budete držet time typu (ale nemáte k tomu důvod), můžete jej přetypovat na interval s tím počítat:

SELECT sum(time_col::interval) FROM my_table;

Ale opět bude výsledkem interval , protože time hodnoty nesmí překročit 24. hodinu dne.

Poznámka :PostgreSQL dokonce udělá obsazení za vás, takže sum(time_col) by také mělo fungovat, ale výsledkem je interval i v tomto případě.



  1. CHYBA:Připojení je v režimu automatického potvrzení

  2. Použití SQL Server Integration Services (SSIS) k naplnění záznamů QuickBooks

  3. Python Postgres Nejlepší způsob, jak vložit data z tabulky v jedné DB do jiné tabulky v jiné DB

  4. Selhání dotazu MySQL kvůli vyhrazenému klíčovému slovu?