Nepoužívejte age() funkce pro aritmetiku data/času. Pouze vrací „symbolické“ výsledky
(které jsou dost dobré pro lidskou reprezentaci, ale téměř bezvýznamné pro výpočty data/času; ve srovnání se standardním rozdílem).
Standardní diferenční operátor (- )
vrátí výsledky založené na dnech pro oba date , timestamp a timestamp with time zone (první vrátí dny jako int , poslední dva vrátí interval na základě dne s):
Z denních intervalů můžete extrahovat dny pomocí extract() funkce:
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