|
|
|
| Люди подскажите пожалуйста синтаксис запроса.
Мне нужно что в запросе было (сегодняшняя дата-дата в столбце)>3, т.е нужно искать записи старше 3х дней. Делал в цикле на php но понимаю что это не правильно дабы тормозит сильно когда записей скажем 10000 тыс.
$current_date="2010-11-06"; //Сегодняшнюю дату нахожу с помощью php
$query=mysql_query("select status from table where ($current_date-date_to_isp)>3");
Но этот запрос не работает. | |
|
|
|
|
|
|
|
для: Eser
(07.11.2010 в 18:43)
| | mysql плохо вычитает моменты времени.
Ему проще добавлять к моменту интервал.
Соответственно проще будет неравенство A - B > 3 переписать в виде B > A + 3
заодно и правое выражение можно упростить. | |
|
|
|
|
|
|
|
для: Trianon
(07.11.2010 в 18:48)
| | Делаю вот так:
$query=mysql_query("select status from table where (date_to_isp)>($current_date+3);
Но условие не срабатывает выводит все записи.
Я так понимаю что не работает вот эта часть:
($current_date+3), не понятно как? Ведь получается например (2010-11-06+3)?
Если сделать так select (2010-11-06+3) результат будет 1996 | |
|
|
|
|
|
|
|
для: Eser
(07.11.2010 в 23:33)
| | Вы не указали что три - это интервал времени, и что интервал этот в сутках.
Плюс к тому, дату как и строку надо в апострофы брать.
чтобы получилось ('2010-11-06' + INTERVAL 3 DAY) | |
|
|
|
|
|
|
|
для: Trianon
(07.11.2010 в 23:39)
| | select status from table where ('date_to_isp')>('2010-11-06'+ INTERVAL 3 DAY);
Сообщает о синтаксической ошибке рядом c WHERE.
Этот блок нормально работает select ('2010-11-06'+ INTERVAL 3 DAY) | |
|
|
|
|
|
|
|
для: Eser
(08.11.2010 в 00:09)
| | date_to_isp зачем в кавычки взяли?
Это не строка и не дата. Это имя поля.
Если уж и брать - то в обратные косые, но никак не в апострофы. | |
|
|
|
|
|
|
|
для: Trianon
(08.11.2010 в 00:13)
| | Спасибо все заработало! | |
|
|
|