2012-05-27 2 views
1

следующий мой запрос sql, в котором я пытаюсь отфильтровать результат в соответствии с разницей даты (больше). Функция SQL «Дата (FROM_UNIXTIME (i_last_updated)») возвращает даты успешно, но следующий запрос не фильтрует результаты в соответствии с инструкцией where where. Пожалуйста, дайте мне знать, что-то не так с моим sql-запросом и как я могу это исправить. СпасибоФильтрация результата в соответствии с максимальной датой

Примечания: «Я успешно сделал это с помощью простого, если/иначе, но я хочу знать, есть ли возможный способ сделать это с SQL-запросом»

$d= "2012-12-25" 

$sql2 = "SELECT attendees FROM event_attendees where Date(FROM_UNIXTIME(i_last_updated)) > $d"; 

ответ

1

Вы пропустили ' вокруг переменной даты:

$sql2 = "SELECT attendees FROM event_attendees where Date(FROM_UNIXTIME(i_last_updated)) > '$d'"; 
+0

oops большое спасибо «я ненавижу, когда делаю такие глупые ошибки» –

0

Посмотрите функцию MySQL datediff, что позволит сравнить результат FROM_UNIXTIME() с $d. Проверьте знак результата.

0

Вы можете использовать DATEDIFF функцию MySQL, чтобы найти разницу между двумя датами.

ИЛИ

Для меня, однако, кажется, что вместо преобразования i_last_updated для каждой строки, было бы лучше, чтобы преобразовать $d в Отметка времени Unix. Вы можете сделать это с помощью функции MySQL UNIX_TIMESTAMP.

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