Date arithmatic question - Mailing list pgsql-general

From Bryan \(Mailing Lists\)
Subject Date arithmatic question
Date
Msg-id 02ba01c050e6$72f876c0$54ed90cc@netmeme.org
Whole thread Raw
In response to Several PostGreSQL questions.  (Warren Vanichuk <pyber@street-light.com>)
Responses RE: Date arithmatic question
List pgsql-general
I have a table "t" with a timestamp column "s". I am trying to issue a query
to find all rows where s is exactly some number of days old (rounded off).

I have tried this:

select * from t where date_part('day', age('now', s)) = ?

But this only looks at the day of the month; e.g. if my parameter is "5",
then it will return all rows that are 5 days old, as well as 1 month 5 days,
as well as 2 months 5 days, etc.

I have also tried this:

select * from t where date_part('day', age('now', s)) = ? and
date_part('month', age('now', status_last_update)) = 0

But this restricts my parameter to 30 days or less; greater than 30 days and
the query doesn't return anything.

What is the correct way to express this?

Thank you,

Bryan



pgsql-general by date:

Previous
From: "Martin A. Marques"
Date:
Subject: Re: [HACKERS] Re: PHPBuilder article -- Postgres vs MySQL
Next
From: "Bryan \(Mailing Lists\)"
Date:
Subject: Re: Date arithmatic question