Mysql правильно сравнить 2 datetimes?

0

У меня проблема, что я собираюсь вытащить свои волосы, хорошо, позвольте мне начать.

Я использую php и mysql. У меня есть база данных, содержащая строки с информацией, а один из столбцов имеет поле datetime в 24-часовом формате.

Я пытаюсь получить информацию, используя следующий запрос:

SELECT * FROM `table` 
where `new` != '1' 
AND `time` >= '2010-08-27 22:04:37' 
AND `name` LIKE '%apple%' 
OR `name2` LIKE '%apple%'

Мои ожидания этого запроса состоят в том, чтобы извлечь все из table, где time больше или равно 2010-08-27 22:04:37. Который, я думал, вернет все с 2010-08-27 22:04:37 до 2010-08-28 и т.д., Но я получаю строки с датами

2010-08-26 04:59:34
2010-08-26 03:00:00
2010-08-26 23:00:00

Может кто-нибудь мне помочь. Спасибо заранее!

  • 0
    Какой тип данных для вашего поля time ?
Теги:
datetime

2 ответа

1
Лучший ответ
SELECT * FROM `table` 
where `new` != '1' 
AND `time` >= '2010-08-27 22:04:37' 
AND  (`name` LIKE '%apple%' 
     OR `name2` LIKE '%apple%')
  • 0
    Большое спасибо, Майкл, вы спасатель.
1

Измените свой запрос на:

... where new != '1' AND time >= '2010-08-27 22:04:37' AND 
(name LIKE '%apple%' OR name2 LIKE '%apple%')
  • 0
    БОЛЬШОЕ СПАСИБО! Я собирался вырвать мои волосы () LOL еще раз спасибо. должен помнить эти операторы ИЛИ
  • 0
    Да, особенно когда вы запускаете запрос DELETE.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню