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)