Выборка MySQL за день, вчера, неделю, месяц

За сегодня:

createdate>= CURDATE()";

 

За вчера:

createdate>= (INTERVAL -1 DAY + curdate()) AND createdate < CURDATE()

 

 

За неделю:

createdate > DATE_SUB(CURDATE(), INTERVAL (DAYOFWEEK(CURDATE()) -1) DAY) AND messagedate < DATE_ADD(CURDATE(), INTERVAL (9 - DAYOFWEEK(CURDATE())) DAY)

 

За месяц:

createdate > LAST_DAY(DATE_SUB(CURDATE(), INTERVAL 1 MONTH))AND messagedate< DATE_ADD(LAST_DAY(CURDATE()), INTERVAL 1 DAY)

 

2 Replies to “Выборка MySQL за день, вчера, неделю, месяц”

  1. >>За вчера:
    не работает 1 числа каждого месяца

    mysql> select curdate();
    +————+
    | curdate() |
    +————+
    | 2013-07-01 |
    +————+
    1 row in set (0.00 sec)

    mysql> select curdate()-1;
    +————-+
    | curdate()-1 |
    +————-+
    | 20130700 |
    +————-+
    1 row in set (0.00 sec)

Добавить комментарий для Евгений Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *