2012-06-28 4 views
1

После выполнения этого запроса о моей базе данных:Запрос с несколькими условиями?

select * from articles 
where content like 'keyword1' or content like 
keyword2' or content like 'keyword3' and date 
between '2012-06-18 00:00:00' and '2012-06-25 23:59:59' 
order by date asc 

Я смог вернуться статей, отсортированных по дате с содержанием, содержащих эти ключевые слова, указанные , но не в пределах диапазона дат. Может ли кто-нибудь сообщить мне, что не так с этим утверждением и как его исправить?

Спасибо!

+0

Добавить фигурную скобку для вашего утверждения: где (контент, например «ключевое слово1» или контент, например, ключевое слово2 или контент «ключевое слово3») и ... – Thinhbk

ответ

0
select * from articles where (content like 'keyword1' or content like 'keyword2' or content like 'keyword3') and (date between '2012-06-18 00:00:00' and '2012-06-25 23:59:59') order by date asc 

Попробуйте.

0

Удостоверьтесь, что поле данных даты в БД является тем же самым форматом, в каком переданном параметре, если поле даты является датой, используйте функцию DATE_FORMAT(), чтобы отформатировать ее до «% Y-% m-% d% h:% M :% s ', затем сравните его. Что-то вроде:

Where DATE_FORMAT(date,'%Y-%m-%d %H:%m:%s') between '2012-06-18 00:00:00' AND '2012-06-25 23:59:59' 

HTH.

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