2015-02-23 2 views
0

Я пытаюсь выполнить запрос, который будет возвращать заказы клиентов между curdate() -interval 1 day И curdate() для всех 4-х рабочих дней, но каждый понедельник критерии должны быть curdate() - interval 3 days И curdate().CurDate между критериями меняется каждый понедельник

Я не могу найти пример, и мой текущий код

(cast(from_unixtime(`schedule`.`last_change_timestamp`) as date) 
      BETWEEN (curdate() - interval 3 day) AND (curdate()) 

и изменить его на 1 вторник и каждый понедельник изменить - interval to 3 снова. Хотелось бы автоматизировать этот процесс, пожалуйста.

Любая помощь будет оценена по достоинству.

Благодаря

ответ

0
(
    (  DAY_OF_WEEK(CURDATE()) = 2 
     AND cast(FROM_UNIXTIME(schedule.last_change_timestamp) as date) 
      BETWEEN (curdate() - interval 3 day) AND (curdate() - interval 1 day) 
    ) 
    OR 
    (  DAY_OF_WEEK(CURDATE()) != 2 
     AND cast(FROM_UNIXTIME(schedule.last_change_timestamp) as date) 
      = (curdate() - interval 1 day) 
    ) 
) 

форматирование скобок является не то, что я хотел бы использовать в реальном коде, но для демонстрации мы надеемся, что делает его более четким.

http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_dayofweek

Обратите внимание, что вы не указали, что вы хотите, чтобы произошло в выходные дни, поэтому я предполагаю, что это не имеет никакого отношения и смешали их вместе с ВТ-ПТ.

+0

Дорогой Питер, код работает нормально, но я не хочу включать текущую дату в выходные данные, последние 3 дня, если это понедельник и вчера, если это вторник, среда, четверг или пятница. Когда я выполнил мой код сегодня, он дает мне данные для 20, 21,22 и 23. Что я делаю неправильно? – user3774733

+0

Оператор 'between' включен. Поэтому на каждой строке вместо того, чтобы говорить «МЕЖДУ ... И КУРДАТОМ()», вы должны сказать «МЕЖДУ ... И (curdate() - интервал 1 день)». –

+0

Если вы используете этот ответ, отметьте его как ответ. Я пытаюсь получить очки репутации, и если вы не помечаете ответ, тогда я получаю nada ... –

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