Учитывая следующие значения YYYY-MM-DDMysql найти диапазон дат
$start = 2012-03-21
$stop = 2012-07-15
и следующие записи в БД, а также YYYY-MM-DD
DATE_FROM DATE_TO PRICE
2012-01-01 2012-03-01 123
2012-03-01 2012-04-08 123
2012-04-09 2012-06-04 456
2012-06-04 2012-07-02 789
2012-07-02 2012-07-16 111
2012-07-17 2012-08-17 222
Как я могу выбрать все записи которые находятся в диапазоне $start
- $stop
? Это должно включать в себя все, кроме последней и первой строки
Покушение ниже, который получает записи 2 - 4, но не 5.
SELECT date_from, date_to, price
FROM periods
WHERE (date(date_from) <= '$start' OR date(date_to) <= '$stop')
WHERE (date (date_to)> = '$ start' AND date (date_from)> = '$ stop') - ничего не возвращает. – stef
Обновлен мой ответ. У меня был ваш/назад, и у меня был логический/опечаток. Я дважды проверил это в своей голове, и он должен получить вам строки 2-5 –
Вы правы, это работает красиво! – stef