Gebruik niet de age() functie voor rekenen met datum/tijd. Het geeft alleen "symbolische" resultaten
(die goed genoeg zijn voor menselijke representatie, maar bijna zinloos voor datum/tijd-berekeningen, vergeleken met het standaardverschil).
De standaard verschiloperator (- )
retourneert op dag gebaseerde resultaten voor beide date , timestamp en timestamp with time zone (de eerste keert dagen terug als int , de laatste twee retourneren op dag gebaseerde interval s):
Uit de op dagen gebaseerde intervallen kunt u dagen extraheren met de extract() functie:
select current_date - '2017-01-01',
extract(day from now()::timestamp - '2017-01-01 00:00:00'),
extract(day from now() - '2017-01-01 00:00:00Z');
https://rextester.com/RBTO71933