Najłatwiejszy sposób na znalezienie zachodzenia na siebie jest taki:
IF EXISTS (SELECT 1 FROM table WHERE @myValueLo <= ExistingRangeEnd AND @myValueHi >= ExistingRangeStart)
-- Overlaps
ELSE
-- Doesn't overlap
Można to wykazać, jeśli porównasz powyższy warunek z każdym ze słupków na poniższym diagramie:
Existing range: |-------------------|
Overlaps: |-------------| |------------|
|----------------------------------|
|-------------|
Not overlaps: |-----| |----|
we wszystkich przypadkach nakładania się, oba te testy są prawdziwe:
- data rozpoczęcia istniejącego zakresu jest zawsze przed datą zakończenia nowego asortymentu
- data zakończenia istniejącego zakresu jest po dacie rozpoczęcia nowego asortymentu
Te, które się nie nakładają, nie przechodzą jednego lub drugiego testu.