Chris Hoover wrote:
I need some help. I am trying to replicate a function from Sybase ASA, and am having difficulty.

I need to be able to subtract 2 date (or timestamps) and return the results expressed in days, weeks, month, quarters, or years. How do I do this?

I believe Postgres is returning the number of days when you subtract to days.
i.e. postgres=# select current_date - '2007/01/01';
 ?column?
----------
      200
(1 row)



However, I can not figure out how to get the results expressed as 7 months, or 2 quarters, x weeks, or 0 years. I have tried to use date_part, but since the subtraction is returning an integer, it is not happy.

Any help would be greatly appreciated.

Chris

P.S.

I'm trying to replicate Sybase's datediff function.
postgres=# select age(current_date,'2007/01/01');
     age
----------------
6 mons 20 days
(1 row)


http://www.postgresql.org/docs/8.2/static/functions-datetime.html

---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
      choose an index scan if your joining column's datatypes do not
      match

Reply via email to