sql >> Database teknologi >  >> RDS >> PostgreSQL

Tidsstempelforskel i timer for PostgreSQL

De første ting dukker op

EXTRACT(EPOCH FROM current_timestamp-somedate)/3600

Måske ikke kønt, men frigør vejen. Kunne være smukkere, hvis opdeling af interval efter interval blev defineret.

Rediger :hvis du vil have det større end nul, skal du enten bruge abs eller greatest(...,0). Uanset hvad der passer til din hensigt.

Rediger++ :grunden til, at jeg ikke brugte age er det age med et enkelt argument, for at citere dokumentationen:Træk fra nuværende_dato (ved midnat) . Det betyder, at du ikke får en nøjagtig "alder", medmindre du løber ved midnat. Lige nu er klokken næsten 01:00 her:

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


  1. Gruppér efter dataintervaller

  2. Minimering af virkningen af ​​at udvide en IDENTITY-søjle – del 1

  3. Hvad er størrelsesgrænsen for et varchar2 PL/SQL-underprogramargument i Oracle?

  4. Lodret skalering af PostgreSQL