PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Postregsql Differenza di data in base ai secondi

Innanzitutto, le date devono essere valori di timestamp digita (quindi aggiungi ::timestamp se li stai solo specificando come stringhe letterali).

Se sottrai due timestamp, il risultato è di interval type, che descrive una durata di tempo (in ore, minuti, secondi, ecc.) Puoi usare extract(epoch from interval_value) per convertire l'intervallo in un numero assoluto di secondi.

Quindi, mettendo tutto insieme:

select extract(epoch from ('2011-12-30 09:55:56'::timestamp - '2011-12-30 08:54:55'::timestamp));

Ricorda che il ::timestamp è necessario solo per convertire la stringa letterale in un timestamp:non ne hai bisogno se stai utilizzando il valore di una colonna timestamp, ad esempio.