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,
intervwhere 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.