Задать вопрос

Как организовать поиск по дате в sql?

Есть вот такая табличка:
id, title, dates_list
dates_list типа text и данные в ней хранятся в виде строки
2015-11-20|0,2016-01-03|1,2016-01-14|0
дата | доступность
Как при такой структуре хранения данных можно организовать поиск по диапазону дат, чтобы иметь возможность постраничной навигации по результатам поиска?
  • Вопрос задан
  • 4290 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Нормально - никак.
Нормализуйте базу, выносите эти данные в отдельную связанную таблицу.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
$is_available = 1;
$sql_query = "SELECT * FROM table WHERE dates_list LIKE '%2015-11-20|{$is_available}%' OR dates_list LIKE '%2016-01-03|{$is_available}%' OR ..."

Тоесть тебе нужно разбить промежуток времени по дням и искать в каждой записи эти даты по шаблону. Этот запрос достаточно тяжелый. будет медленно работать на больших объемах
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы