De första sakerna som dyker upp
EXTRACT(EPOCH FROM current_timestamp-somedate)/3600
Kanske inte snyggt, men blockerar vägen. Kunde vara snyggare om uppdelning av intervall efter intervall definierades.
Redigera :om du vill ha det större än noll, använd antingen abs eller greatest(...,0). Vilket som passar din avsikt.
Redigera++ :anledningen till att jag inte använde age
är det age
med ett enda argument, för att citera dokumentationen:Subtrahera från aktuell_datum (vid midnatt) . Det betyder att du inte får en exakt "ålder" om du inte springer vid midnatt. Just nu är klockan nästan 01:00 här:
select age(current_timestamp);
age
------------------
-00:52:40.826309
(1 row)