2016-02-12 3 views
-4

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

->id 
->input_date 
->form_num 
->name 
->address 

Мой формат input_date является dataype DATETIME с форматом, как

2015-12-29 12:45:08 

Я делаю модуль отчетности с даты поэтому мой запрос:

SELECT * 
FROM golden_leaves.forms 
WHERE input_date >= '2015-02-01 00:00:35' AND input_date <= '2016-02-11 23:08:39' 
ORDER BY id DESC; 

так что в основном я хочу чтобы получить февраль-февраль до 11 февраля. Но когда я его запрашиваю, мои данные из декабря, января также включены? Также вводятся даты ввода, начиная с декабря 2015 года? Я также пробовал

WHERE input_date BETWEEN '2015-02-01 00:00:35' AND '2016-02-11 23:08:39' ORDER BY id DESC; 

То же самое. В моей базе данных postgres это работает отлично.

+2

Возможно, потому что вы начинаете с 2015 года? –

+1

Dec 2015 is> = '2015-02-01 00:00:35' –

+0

Боже, мне очень жаль, что я пропустил этот. :( – jackhammer013

ответ

0

У вас есть опечатка в дате начала - вы запрашиваете даты, начиная с февраля 2015 года, а не 2016:

SELECT * 
FROM  golden_leaves.forms 
WHERE input_date >= '2016-02-01 00:00:35' AND 
     -- Here ----------^ 
     input_date <= '2016-02-11 23:08:39' 
ORDER BY id DESC; 
0

Вашей вторая дата, прежде чем ваша первая дата (Попробуйте изменить порядок даты)

WHERE input_date BETWEEN '2016-02-11 23:08:39' AND '2015-02-01 00:00:35' ORDER BY id DESC;

+0

Синтаксис между ** требует **, чтобы первое vslue было меньше второго значения. В вашем ответе всегда не было записей. –

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