Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Не работает отрицательный интервал дат !!!!
 
 автор: AN   (24.11.2009 в 21:16)   письмо автору
 
 

странное дело:

Вот так работает, выводя даты в месячном интервале в будущем

$sql="SELECT * FROM partner_contact WHERE 
DATE(ContactDateTask) BETWEEN ADDDATE(CURDATE(),INTERVAL 1 DAY) AND ADDDATE(CURDATE(),INTERVAL 30 DAY)";

аналогично

$sql="SELECT * FROM partner_contact WHERE 
DATE(ContactDateTask) BETWEEN SUBDATE(CURDATE(),INTERVAL -1 DAY) AND SUBDATE(CURDATE(),INTERVAL -30 DAY)";


Стараюсь получить месечный интервал в прошлом

$sql="SELECT * FROM partner_contact WHERE 
DATE(ContactDateTask) BETWEEN ADDDATE(CURDATE(),INTERVAL -1 DAY) AND ADDDATE(CURDATE(),INTERVAL -30 DAY)";

аналогично

$sql="SELECT * FROM partner_contact WHERE 
DATE(ContactDateTask) BETWEEN SUBDATE(CURDATE(),INTERVAL 1 DAY) AND SUBDATE(CURDATE(),INTERVAL 30 DAY)";


НЕ РАБОТАЕТ !
и почему ADDDATE(CURDATE(),INTERVAL 30 DAY) с положительным 30 DAY работает также как и
SUBDATE(CURDATE(),INTERVAL -30 DAY) с отрицательным -30 DAY

помогите, в чем может быть пробема???

  Ответить  
 
 автор: Trianon   (24.11.2009 в 21:24)   письмо автору
 
   для: AN   (24.11.2009 в 21:16)
 

левый хвост диапазона должен быть меньше правого.

  Ответить  
 
 автор: AN   (24.11.2009 в 22:05)   письмо автору
 
   для: Trianon   (24.11.2009 в 21:24)
 

в смысле вот так?


$sql="SELECT * FROM partner_contact WHERE 
DATE(ContactDateTask) BETWEEN ADDDATE(CURDATE(),INTERVAL -30 DAY) AND ADDDATE(CURDATE(),INTERVAL -1 DAY)"; 

  Ответить  
 
 автор: Trianon   (24.11.2009 в 22:24)   письмо автору
 
   для: AN   (24.11.2009 в 22:05)
 

примерно.

  Ответить  
 
 автор: AN   (24.11.2009 в 22:37)   письмо автору
 
   для: Trianon   (24.11.2009 в 22:24)
 

Спасибо, получилось

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования