Использовать следующую логику: данное назначение не мешает референтному, если оно начинается после него или заканчивается до него.
Инвертируйте это с помощью NOT
, и вы получите пересечения:
reservations res
....
NOT(starting_date> res.end_date OR ending_date< res.start_date)
После применения конверсии, как указано выше в Kaushik Nayak, вы получите
reservations res
....
NOT(starting_date> res.end_date) AND NOT(ending_date< res.start_date)
И, наконец, избавление от NOT
с обратным сравнением
reservations res
....
starting_date<= res.end_date AND ending_date>= res.start_date