Mysql запросов для даты типа столбца - PullRequest
0 голосов
/ 04 апреля 2011

Как я могу получить записи с

  1. Сегодняшняя дата
  2. Вчерашняя дата
  3. Последние 7 дней
  4. Последние 30 дней
  5. в этом месяце
  6. в прошлом месяце

Я использую поле даты. Не дата и время поле даты, например, ГГГГ-ММ-ДД

Ответы [ 3 ]

1 голос
/ 04 апреля 2011

Самый простой способ - вычислить нужную вам дату в php, затем попробуйте

Select * from tbl where coldate = '$myphpdate'
1 голос
/ 04 апреля 2011
  1. SELECT ... WHERE DATE(datetimefield) = CURDATE()
  2. SELECT ... WHERE DATE(datetimefield) = DATE_SUB(CURDATE(), INTERVAL 1 DAY)
  3. SELECT ... WHERE DATE(datetimefield) > DATE_SUB(CURDATE(), INTERVAL 7 DAY)
  4. SELECT ... WHERE DATE(datetimefield) > DATE_SUB(CURDATE(), INTERVAL 30 DAY)
  5. SELECT ... (WHERE YEAR(datetimefield) = YEAR(CURDATE()) AND (MONTH(datetimefield) = MONTH(CURDATE())
  6. оставлено в качестве упражнения для читателя ... (подсказка: см. № 5)
1 голос
/ 04 апреля 2011

MySQL имеет много функций, связанных с датами, см. http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html

Конечно, ваше поле даты должно быть полем даты, что сейчас не так.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...