SQL между датами

У меня есть таблица с двумя столбцами (startdate & enddate), и у меня есть две даты подачи (2012-02-29 и 2012-03-30). Я пытаюсь получить данные между startdate (2012-02-29) и enddate ( 2012-03-30)

я пробовал

i.startdate between '2012-02-29' and i.enddate '2012-03-30' 

но это не сработало, я уже много часов искал это без четкого ответа, любая помощь была бы оценена, спасибо заранее.

Если я правильно понимаю:

  1. Ваша таблица содержит два поля даты, StartDate и EndDate , которые описывают длительное событие.
  2. Вы хотите найти все события, которые полностью падают в течение периода, описанного двумя другими датами, в этом случае 2012-02-29 и 2012-03-30 .

Если это правильно, используйте это:

  SELECT * FROM Events WHERE StartDate >= '2012-02-29' AND EndDate <= '2012-03-30'; 
 SELECT * FROM table_with_dates WHERE (i.startdate BETWEEN '2012-02-29' AND '2012-03-30') AND (i.enddate BETWEEN '2012-02-29' AND '2012-03-30') 
 where ('2012-02-29' between i.startdate and i.enddate) and ('2012-03-30' between i.startdate and i.enddate) 

Я понимаю, что вы хотите, чтобы ваши представления (две даты) между startdate и enddate? так

 Where (@firstDate between StartDate and EndDate) and (@secondDate between StartDate and EndDate) 

Поскольку startdate и enddate являются отдельными полями, и вы ищете конкретные начальные и конечные даты, вам действительно не нужно между ними, просто

 select ..... from ..... where i.startdate >= '2012-02-29' and i.enddate =< '2012-03-30'