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

Zeitstempeldifferenz in Stunden für PostgreSQL

Die ersten Dinge, die auftauchen

EXTRACT(EPOCH FROM current_timestamp-somedate)/3600

Ist vielleicht nicht schön, macht aber die Straße frei. Könnte schöner sein, wenn eine Aufteilung von Intervall zu Intervall definiert wäre.

Bearbeiten :Wenn Sie möchten, dass es größer als Null ist, verwenden Sie entweder abs oder most(...,0). Je nachdem, was zu Ihrer Absicht passt.

Bearbeiten++ :der Grund, warum ich age nicht verwendet habe ist das age mit einem einzigen Argument, um die Dokumentation zu zitieren:Subtract from current_date (um Mitternacht) . Das bedeutet, dass Sie kein genaues "Alter" erhalten, es sei denn, Sie laufen um Mitternacht. Hier ist es gerade fast 1 Uhr morgens:

select age(current_timestamp);
       age        
------------------
 -00:52:40.826309
(1 row)