Overlaps
Uit Yapf
In SQL staat OVERLAPS voor een functie die controleert of twee opgegeven perioden elkaar overlappen. d.w.z. of een van de twee perioden begint of eindigt tijdens de andere periode.
Uit de PgSQL handleiding [1]
SELECT ('2001-02-16', '2001-12-21') OVERLAPS ('2001-10-30', '2002-11-30');
Result: true
Voor MySQL gebruikers; de theorie is dus dat de begin- of einddatum van de ene periode moet vallen tussen de begin- en einddatum van de andere periode. Dit komt neer op:
SELECT
(
(
start_a BETWEEN start_b and end_b
OR
end_a BETWEEN start_b and end_b
)
OR
(
start_b BETWEEN start_a and end_a
OR
end_b BETWEEN start_a and end_a
)
)
oftewel:
SELECT
(
(
'2001-02-16' BETWEEN '2001-10-30' and '2001-11-30'
OR
'2001-12-21' BETWEEN '2001-10-30' and '2001-11-30'
)
OR
(
'2001-10-30' BETWEEN '2001-02-16' and '2001-12-21'
OR
'2001-11-30' BETWEEN '2001-02-16' and '2001-12-21'
)
)