Предположим, что месяц считается Oct 2013
, и я хочу вытащить все строки, в которых October 2013
находится между датой начала и окончания.Лучший способ выбора строк, где месяц находится между датой начала и окончания
настоящее время я использую это в моей статье WHERE
:
WHERE (start_date >= '2013-10-01' AND end_date < '2013-11-01') OR // between 1st and 31st
(start_date >= '2013-10-01' AND start_date < '2013-11-01') OR // start falls in oct'13
(end_date >= '2013-10-01' AND end_date < '2013-11-01') // end falls in oct'13
Это почти делает работу ожидать в том случае, когда даты начала и окончания находятся за пределами Oct'13
. Например, он пропустит строки, в которых дата начала говорить 2013-05-01
и дата окончания 2014-02-22
Я уверен, что будет короткий и довольно способ использовать в WHERE
, чем длинный подход, который я следую в настоящий момент. Какие-либо предложения?
Я не ясно, на какие ценности должны быть возвращены. Вы говорите, что возвращаете все записи, которые начинаются или заканчиваются в октябре? Или записи, начинающиеся до конца и конца после него? Возможно, вы могли бы привести несколько примеров. – Moob
@ DBC: если вы считаете, что есть соответствующий ответ, отметьте его как правильный ответ. –
Я сделал. К сожалению, я не могу выдвигать свою кандидатуру из-за ограничения репутаций. – DBC