From: | Stephan Szabo <sszabo(at)megazone23(dot)bigpanda(dot)com> |
---|---|
To: | Jan Bodey <jan_bodey(at)hotmail(dot)com> |
Cc: | <pgsql-sql(at)postgresql(dot)org> |
Subject: | Re: Date comparison question |
Date: | 2003-05-20 16:57:26 |
Message-ID: | 20030520095059.Q68048-100000@megazone23.bigpanda.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
On Tue, 20 May 2003, Jan Bodey wrote:
> Hi
>
> I require a query that will see if a stored date is more than a certain
> interval before the current date. Using an interval of 10 hours, the query
> would be something like:
>
> SELECT * FROM utable
> WHERE now() - utimestamp > interval '10 hours';
>
> The problem I am having is that the interval is not fixed, and I would like
> to be able to store it as a value in a database table. The unit of the
> interval can, however, be fixed, and will almost certainly be fixed to
> hours.
>
> I have not been able to find a way of doing what I require, does anybody
> have any ideas to what I need to do?
If you assume that you're just going to stick one row in the interval
table, I think you can do something kinda like:
create table interv(i interval);
insert into interv values ('10 hours');
analyze interv;
select utable.* from utable, interv
where now()-utimestamp>i;
This could be made more complicated if you want to have multiple interval
values, etc. Also, neither of the above is probably terribly fast if
utable is big.
From | Date | Subject | |
---|---|---|---|
Next Message | Kluge | 2003-05-20 17:01:38 | plpgsql recursion |
Previous Message | Stefano Vita Finzi | 2003-05-20 16:53:08 | plpgsql recursion |