2016-05-14 2 views
0

Я ищу запрос, который извлекает запись между двумя месяцами. Это выглядит просто, но я ищу запрос, который извлекает запись в течение двух разных месяцев.Запись запроса Mysql между двумя месяцами

ie.

январь и апрель

запрос должен показать результат с января месяца и в апреле, но он не должен показывать результат за февраль и март.

+0

Пожалуйста, прочтите [как задать хороший вопрос] (HTTP: // Http: //stackoverflow.com/help/how-to-ask). Что вы пробовали? Предоставьте свой код, таблицу, которую вы используете, образцы данных и желаемый результат ... и т. Д. – trincot

ответ

2

Попробуйте

SELECT * from table_name where month(date_field) = 1 or month(date_field) = 4 

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

SELECT * from table_name where (month(date_field) = 1 or month(date_field) = 4) and year(date_field) = 2016 
+0

У меня есть отметка времени. Будет ли он работать с меткой времени или просто работать с полем даты? – Auj

+0

Да, он работает для timestamp –

+0

Будет ли он работать с настраиваемым полем. Как я сохранил дату и время в поле varchar, используя функцию php date()? – Auj

0
SELECT * FROM data where (data.createdAt BETWEEN "2016-01-01" AND "2016-01-31") OR (data.createdAt BETWEEN "2016-04-01" AND "2016-04-31") 
+1

Хотя этот код может ответить на вопрос, было бы лучше включить какой-то контекст, объяснить, как он работает и когда его использовать. Ответы только на код не полезны в долгосрочной перспективе. – Bono