Larry,
> > What about EXTRACT(months FROM <interval_field>)?
> >
> > This annoyingly wraps around if it's more than 12 months, but that was
> > part of my proposal ...
> I needed like 5 years (60 months)...
>
> So, the wrap around is not good in this case.
Easy:
CREATE FUNCTION show_months ( interval ) returns text as '
SELECT CAST( (( extract(years from $1) * 12 ) + extract(months from $1)) AS
text ) || '' months'';
' LANGUAGE SQL IMMUTABLE STRICT;
(above not checked for typos)
I'd swear that you posted your question on pgsql-sql and I posted the above
solution some months ago.
--
-Josh Berkus
Aglio Database Solutions
San Francisco