PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Postregsql Datumsdifferenz auf Basis von Sekunden

Erstens müssen die Daten Werte von timestamp sein type (also ::timestamp anhängen wenn Sie sie nur als Zeichenfolgenliterale angeben).

Wenn Sie zwei Zeitstempel subtrahieren, ist das Ergebnis interval Typ, der eine Zeitdauer beschreibt (in Stunden, Minuten, Sekunden usw.) Sie können extract(epoch from interval_value) verwenden um das Intervall in eine absolute Anzahl von Sekunden umzuwandeln.

Also alles zusammen:

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

Denken Sie daran, dass der ::timestamp wird nur benötigt, um das Zeichenfolgenliteral in einen Zeitstempel umzuwandeln:Sie brauchen es nicht, wenn Sie beispielsweise den Wert einer Zeitstempelspalte verwenden.