185 votes

Trouver la différence entre les timestamps en secondes dans PostgreSQL

J'ai une table dans PostgreSQL 8.3 avec 2 timestamp colonnes. Je voudrais obtenir la différence entre ces timestamps en quelques secondes. Pouvez-vous m'aider à réaliser cette opération ?

TableA
(
  timestamp_A timestamp,
  timestamp_B timestamp
)

J'ai besoin d'obtenir quelque chose comme (timestamo_B - timestamp_A) en secondes (pas seulement la différence entre les secondes, mais aussi les heures, les minutes, etc.) .

363voto

Igor Romanchenko Points 22768

Essayez : 

SELECT EXTRACT(EPOCH FROM (timestamp_B - timestamp_A))
FROM TableA

Les détails ici : EXTRACT .

47voto

Clodoaldo Neto Points 26723
select age(timestamp_A, timestamp_B)

Je réponds au commentaire d'Igor :

select age('2013-02-28 11:01:28'::timestamp, '2011-12-31 11:00'::timestamp);
              age              
-------------------------------
 1 year 1 mon 28 days 00:01:28

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X