Re: SQL to Check whether "AN HOUR PERIOD" is between start and end timestamps - Mailing list pgsql-sql

From Alvaro Herrera
Subject Re: SQL to Check whether "AN HOUR PERIOD" is between start and end timestamps
Date
Msg-id 20090402135404.GD3163@alvh.no-ip.org
Whole thread Raw
In response to Re: SQL to Check whether "AN HOUR PERIOD" is between start and end timestamps  (James Kitambara <jameskitambara@yahoo.co.uk>)
Responses Re: SQL to Check whether "AN HOUR PERIOD" is between start and end timestamps  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-sql
James Kitambara wrote:
> Dear Srikanth,
> You can solve your problem by doing this
> 
> THE SQL IS AS FOLLOWS
>   ASSUME TIME INTERVAL 2008-12-07 07:59:59 TO 2008-12-07 08:58:59 AND THE TABLE NAME time_interval
> 
>  COUNT (*) FROM  
>     (select customer_id, log_session_id, start_ts, end_ts , end_ts-start_ts as "Interval" from time_interval
>      where end_ts-start_ts >= '1 hour'
>      and '2008-12-07 07:59:59' between start_ts and end_ts)
> AS COUNT ;

Another way to phrase the WHERE clause is with the OVERLAPS operator,
something like this:

WHERE (start_ts, end_ts) OVERLAPS ('2008-12-07 07:59:59', '2008-12-07 08:59:59')

What I'm not so sure about is how optimizable this construct is.

-- 
Alvaro Herrera                                http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.


pgsql-sql by date:

Previous
From: James Kitambara
Date:
Subject: Re: SQL to Check whether "AN HOUR PERIOD" is between start and end timestamps
Next
From: Emi Lu
Date:
Subject: ibatis with overlaps query