У меня есть таблица в SQL Server, которая содержит различные диапазоны дат.
Таблица имеет дату начала и дату окончания, как показано ниже: -
start_date end_date
======================= =======================
2011-02-21 00:00:00.000 2011-02-25 00:00:00.000
2011-04-18 00:00:00.000 2011-04-29 00:00:00.000
2011-05-31 00:00:00.000 2011-06-03 00:00:00.000
2011-07-21 00:00:00.000 2011-08-31 00:00:00.000
2011-10-24 00:00:00.000 2011-10-28 00:00:00.000
2011-12-19 00:00:00.000 2012-01-02 00:00:00.000
2012-02-13 00:00:00.000 2012-02-17 00:00:00.000
2012-04-02 00:00:00.000 2012-04-13 00:00:00.000
2012-06-04 00:00:00.000 2012-06-08 00:00:00.000
2012-07-20 00:00:00.000 2012-08-31 00:00:00.000
2012-10-29 00:00:00.000 2012-11-02 00:00:00.000
2012-12-24 00:00:00.000 2013-01-01 00:00:00.000
2013-02-10 00:00:00.000 2013-02-16 00:00:00.000
2013-03-24 00:00:00.000 2013-04-06 00:00:00.000
2013-05-26 00:00:00.000 2013-06-01 00:00:00.000
2013-07-24 00:00:00.000 2013-08-31 00:00:00.000
2013-10-27 00:00:00.000 2013-11-02 00:00:00.000
Мне нужно выбрать записи из другой таблицы, где отметка даты не существует ни в одном из указанных выше диапазонов.
Дата начала и дата окончания могут совпадать в приведенной выше таблице, это означает, что исключается только один день.
Моя первоначальная идея состоит в том, чтобы РАСШИРИТЬ все даты из вышеуказанных диапазонов, затем выполнить ВЫБОР, ГДЕ НЕ СУЩЕСТВУЕТ, или есть более эффективный способ достижения этого?