Search Postgresql Archives

Re: deleting records is failing

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On Dec 8, 2005, at 13:01 , Tim Vadnais wrote:

Thank you.

I've modified the code to read:

DELETE from tracker WHERE tracker.episode_id = 277 AND
tracker.date_of_service BETWEEN '09/12/2005'::date - interval '1 day' AND
'10/20/2005'::date + interval '1 day'

If you're going to be doing a lot of this, you might want to wrap it in a simple SQL function, such as :

create or replace function oo_between (
	date -- date to check
	, date -- start date of interval
	, date -- end date of interval
	) returns boolean
strict
immutable
language sql as $$
	select $1 > $2 and $1 < $3;
$$;

Untested, and check the direction of the inequalities. I always seem to screw that up. I chose the oo_ prefix because this is sometimes called an open-open interval. BETWEEN on the other hand tests a closed-closed interval.

You can call it like this:

DELETE FROM tracker
WHERE episode_id = 227
AND oo_between(date_of_service, '2005-09-12'::date, '2005-10-20'::date);

Michael Glaesemann
grzm myrealbox com





[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux