Re: Getting the amount of overlap when using OVERLAPS
От | vishal saberwal |
---|---|
Тема | Re: Getting the amount of overlap when using OVERLAPS |
Дата | |
Msg-id | 3e74dc2505092217284a240c1d@mail.gmail.com обсуждение исходный текст |
Ответ на | Getting the amount of overlap when using OVERLAPS (Tony Wasson <ajwasson@gmail.com>) |
Список | pgsql-general |
create or replace function test1() returns text as $$
DECLARE
mm varchar;
ma bool;
BEGIN
SELECT into ma (DATE '2001-02-16', DATE '2001-12-21') OVERLAPS (DATE '2001-10-30', DATE '2002-10-30');
if (ma) then
select into mm (age(DATE '2001-02-16', DATE '2001-12-21')-age(DATE '2001-10-30', DATE '2002-10-30'));
end if;
return mm;
END;
$$ language plpgsql strict;
select * from test1();
vish
DECLARE
mm varchar;
ma bool;
BEGIN
SELECT into ma (DATE '2001-02-16', DATE '2001-12-21') OVERLAPS (DATE '2001-10-30', DATE '2002-10-30');
if (ma) then
select into mm (age(DATE '2001-02-16', DATE '2001-12-21')-age(DATE '2001-10-30', DATE '2002-10-30'));
end if;
return mm;
END;
$$ language plpgsql strict;
select * from test1();
vish
On 9/22/05, Tony Wasson <ajwasson@gmail.com> wrote:
Given 2 date ranges, the overlaps functions returns TRUE or FALSE. I
want to find the # of days that are overlapping. Is there a "built in"
way to do this? Should I just write a function to do it?
For instance, this example overlaps, but I want to know how much does
it overlap?
SELECT (DATE '2001-02-16', DATE '2001-12-21') OVERLAPS
(DATE '2001-10-30', DATE '2002-10-30');
Thanks in advance!
Tony Wasson
---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings
В списке pgsql-general по дате отправления: