2010-09-28 4 views
0

Im вытаскивая информацию из базы данных, и я получил запрос, работающий нормально, за исключением того, что я хотел бы выбрать только набор из определенного диапазона дат. Каждая строка имеет поле с созданной датой, хранящейся в поле DATETIME. Каков основной синтаксис?Извлечение данных за промежуток времени из DATETIME Столбец MySQL/PHP

ответ

2
SELECT fields 
    FROM table 
WHERE date BETWEEN '$startDate' AND '$endDate' 

Даты в MySQL в формате YYYY-MM-DD, поэтому фактический запрос будет выглядеть следующим образом:

SELECT fields 
    FROM table 
WHERE date BETWEEN '2010-10-01' AND '2010-09-25' 
+0

Это стиль форматирования «OMG Ponies» или какое-то общее соглашение? ;-) – zerkms

+0

@zerkms Мне нравится, как это облегчает визуализацию того, что вы делаете. Да, я считаю, что начал делать это после просмотра одной из сообщений OMG Ponies. – NullUserException

+0

поле - это поле DATETIME, которое, я считаю, хранит дату как временную метку в формате YYYY-MM-DD HH-MM-SS, но я думаю, что основной синтаксис будет работать независимо –

1
WHERE `date_field` BETWEEN '2010-09-21 12:13:14' AND '2010-09-28 12:13:14' 
1
SELECT * FROM table 
WHERE DateTime 
BETWEEN time1 AND time2 
Смежные вопросы