PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Différence d'horodatage en heures pour PostgreSQL

Les premières choses qui apparaissent

EXTRACT(EPOCH FROM current_timestamp-somedate)/3600

Peut-être pas joli, mais débloque la route. Pourrait être plus joli si la division d'intervalle par intervalle était définie.

Modifier :si vous voulez qu'il soit supérieur à zéro, utilisez abs ou le plus grand (..., 0). Selon ce qui convient à votre intention.

Modifier++ :la raison pour laquelle je n'ai pas utilisé age est cet age avec un seul argument, pour citer la documentation :Soustraire de current_date (à minuit) . Cela signifie que vous n'obtenez pas un "âge" précis à moins de courir à minuit. En ce moment, il est presque 1h du matin ici :

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