PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Разлика между две дати postgresql във формат на Excel

Функцията може да ви е удобна:

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'))
$$;

Използвайте:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Проверете за пълни дублирани редове в голяма таблица

  2. Оптимизирайте PostgreSQL за бързо тестване

  3. Как да изпълня множество заявки с помощта на команда psql от bash shell?

  4. Несъответствие на версията на сървъра на PostgresSQL / pgAdmin4 / dump

  5. Опростяване на заявка с LIMIT в подзаявка и клаузи WHERE, дублирани в подзаявката и външната заявка