Pentru intervale "overlapping" poti incerca si ceva e genul:
SELECT...FROM...JOIN...WHERE
(@data1 BETWEEN DATA1 AND DATA2) OR (DATA1 BETWEEN @data1 AND @data2)
@data1 si @data2 sunt parametrii procedurii.
Testez maine...
Pe de alta parte poti folosi tipul de data int sau bigint pentru coloanele "ID"...