Чтоб самому потом не забыть:
SELECT *,(d2>=d3 AND d1<=d4) AS cmp FROM `test_ival`
Возвращает 1 в случае пересечения диапазонов [d1; d2] c [d3; d4] и 0 в противном случае.
Если вместо
>= и
<= использовать соответственно
> и
<, получится проверка пересечения (d1; d2) c (d3; d4).