Работа с датами

rio_dez

Новичок
Фанат
bgm
Но ведь нужно отослать за 9 дней до назначенной даты.
Как сделать все это сравнение...
Вот в этом-то и вопрос.
 

rio_dez

Новичок
Посоветуйте, как мне преобразовать этот запрос
mysql> SELECT name, birth, death,
-> (YEAR(death)-YEAR(birth)) - (RIGHT(death,5)<RIGHT(birth,5))
-> AS age
-> FROM pet WHERE death IS NOT NULL ORDER BY age;
под мою задачу
 

MadGreen

meninweb
rio_dez ленивый ты человек...

SELECT e-mail FROM table
WHERE TO_DAYS(NOW()) - TO_DAYS(time_out) < 9
 

rio_dez

Новичок
Автор оригинала: MadGreen
rio_dez ленивый ты человек...

SELECT e-mail FROM table
WHERE TO_DAYS(NOW()) - TO_DAYS(time_out) < 9
Вот не работает у меня данный запрос...
При данном запросе у меня выбираются все аккаунты.
Вот как я делаю:
PHP:
$query = "SELECT name FROM users
WHERE TO_DAYS(NOW()) - TO_DAYS(date_zak) < 9 ";
$result = mysql_query($query) or die(mysql_error());
$num_results = mysql_num_rows($result);
echo 'через 9 или менее дней '.$num_results.'<br>';
for ($i = 0; $i < $num_results; $i++)
{
	$row = mysql_fetch_array($result);
	echo $row['name'];
}
В базе у меня лежит таблица с несколькими записями, в колонке date_zak такие записи
2006-09-31
2006-09-25
2006-09-24
И вот выбираются все три записи, хотя по логике не должно выбраться не одной, т.к. до этих дат более 9 дней...
 

rotoZOOM

ACM maniac
TO_DAYS(NOW()) - это сегодня
TO_DAYS(date_zak) - это дата окончания
1. Если из сегодня ты будешь вычитать дату окончания (которая больше), что получится ?
2. Будет ли это меньше 9 ?

-~{}~ 25.08.06 11:19:

Человек тебе просто пример дал, а ты его под себя перекроить даже ленишься.
 

rio_dez

Новичок
Спасибо за разъяснение!
Я не ленюсь, просто не очень в SQL запросах разбираюсь...
 
Сверху