PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Diferença de data do Postregsql com base em segundos


Primeiro, as datas precisam ser valores de timestamp tipo (então acrescente ::timestamp se você estiver apenas especificando-os como literais de string).

Se você subtrair dois timestamps, o resultado será de interval type, que descreve uma duração de tempo (em horas, minutos, segundos, etc.) Você pode usar extract(epoch from interval_value) para converter o intervalo em um número absoluto de segundos.

Então, juntando tudo isso:
select extract(epoch from ('2011-12-30 09:55:56'::timestamp - '2011-12-30 08:54:55'::timestamp));

Lembre-se de que o ::timestamp é necessário apenas para converter a string literal em um timestamp:você não precisa disso se estiver usando o valor de uma coluna de timestamp, por exemplo.