On Sunday 27 January 2008 6:30 pm, Bryce Nesbitt wrote:
> Hmm. Seemed so simple. But how do I get the number of years an
> interval represents? extract is clearly the wrong way:
>
> stage=# select 'now()-'1987-02-01' as interval,extract(year from
> now()-'1987-02-01') as age;
> interval | age
> --------------------------+-----
> 7665 days 18:05:51.660345 | 0
>
> select EXTRACT(year FROM INTERVAL '7665 days'); gives the same result.
>
> select EXTRACT(day FROM now()-'1987-02-01')/365 as age; seems messy.
> select (now()-'1987-02-01')/365; gives extraneous junk.
>
> Thanks!
SELECT age('1987-02-01'::timestamp); age
--------------------------20 years 11 mons 26 days
(1 row)
--
Adrian Klaver
aklaver@comcast.net