2014-10-08 2 views
2

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

Сравнение datetime с текущим datetime в mysql?

SELECT * FROM table WHERE expiry_date_time > NOW() 

я ожидаю, что до тех пор, по истечении дата и время больше, чем NOW(), поэтому он по-прежнему активен и не истекает.
Когда я тестировал его с уже истекшей строкой, он провалился и при смене с «>» на «<» он работает !!!

Что случилось с моим кодом или логикой?!

EDIT: -

expiry_date_time является столбец типа DATETIME

дата выборки: -
enter image description here

 
+----+---------------------+---------------------+-----------+ 
| id | expiry_date_time | add_date_time  | is_active | 
+----+---------------------+---------------------+-----------+ 
| 38 | 2014-10-09 02:17:29 | 2014-10-09 01:00:29 | ☺   | 
+----+---------------------+---------------------+-----------+ 


Edit 2: -

я обнаружил ошибка в моем php c ode предотвращает вывод правильной NOW(), поэтому логика и запрос выше работают без ошибок

+0

Что находится в 'expiry_date_time'? Это столбец «DateTime» или «varchar()»? –

+0

@MikeW это столбец типа DATETIME –

+0

Вам нужно разместить некоторые примеры данных, которые иллюстрируют вашу проблему. Я бы положил деньги на MySQL, имея это правильно, и вы что-то неправильно поняли. –

ответ

2

Я обнаружил, что ошибка в моем php-коде предотвращает вывод NOW() правильно, поэтому логика и запрос выше работают отлично, без ошибок

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