sql >> Database >  >> RDS >> PostgreSQL

Verschil tussen twee datums postgresql in Excel-indeling

De functie is misschien handig voor u:

create or replace function interval_in_hours(interval)
returns text language sql as $$
    select format('%s:%s',
        (extract (epoch from $1) / 3600)::int,
        to_char($1, 'mi:ss'))
$$;

Gebruik:

with the_data (id_task_tarefa, dt_inicio, dt_termino) as (
    values
        (211, timestamp '2016-01-25 10:40:25', timestamp '2016-01-27 08:51:02'),
        (210, timestamp '2016-01-25 10:40:29', timestamp '2016-01-27 08:50:21') 
    )

select *, interval_in_hours(dt_termino- dt_inicio)::interval as sum
from the_data;

 id_task_tarefa |      dt_inicio      |     dt_termino      |   sum    
----------------+---------------------+---------------------+----------
            211 | 2016-01-25 10:40:25 | 2016-01-27 08:51:02 | 46:10:37
            210 | 2016-01-25 10:40:29 | 2016-01-27 08:50:21 | 46:09:52
(2 rows)


  1. Rijdoelen, deel 2:Semi-joins

  2. Illegale mix van sorteringen in mySQL

  3. Hoe de eerste en laatste instantie van een specifiek teken in een tekenreeks in PostgreSQL te vinden?

  4. Hoe kan ik gemeenschappelijke gegevens invoegen in een tijdelijke tabel van ongelijksoortige schema's?