2013-04-10 4 views
-5

У меня есть следующие столбцы:MySQL выберите дату в диапазоне дат

  • date_start | date_end
  • 2013-01-14 | 2013-01-16
  • 2013-01-16 | 2013-03-18
  • 2013-01-22 | 2013-03-21
  • 2013-02-02 | 2013-02-10
  • 2013-03-25 | 2013-03-28

мне нужно создать SQL Постулаты, что я могу фильтровать эти записи с

date_start: 2013-01-17 date_end: 2013-03-22

и найденное результаты:

  • дата_старт | date_end
  • 2013-01-16 | 2013-03-18
  • 2013-01-22 | 2013-03-21
  • 2013-02-02 | 2013-02-10

Кто-нибудь знает, как это сделать?

спасибо

+0

Это вопрос определения того, перекрываются ли диапазоны дат. См [этот ответ] [1] [1]: http://stackoverflow.com/questions/325933/determine-whether-two-date-ranges-overlap/325964#325964 –

ответ

0

попробовать это

select * from your_table where date_start >= '2013-01-17' 
          and date_end <= '2013-03-22' 
0
SELECT * 
FROM table 
WHERE date_start BETWEEN '2013-01-17' AND '2013-03-22' 
    AND date_end BETWEEN '2013-01-17' AND '2013-03-22' 
0
SELECT * FROM `table` WHERE `date_start` > '2013-01-17' && `date_end` < '2013-03-22' 

Вам нужно будет заменить table с фактическим именем таблицы в базе данных.

Смежные вопросы