Вывод записей из базы на определенное количество месяцев

Рейтинг: 1Ответов: 1Опубликовано: 30.03.2015

Всем привет.

Допустим, человек выбрал, что его новость будет видна 3 месяца.
При добавлении новости дата старта показа пишется в формате 0000-00-00 00:00:00
Количество месяцев записывается целыми числами.

Не могу понять, как мне в запросе к текущий дате прибавить определенное количество месяцев, чтобы составить уже условие. Главное, чтобы не просто дни учитывались, но и время, когда добавили новость.

Буду благодарен за помощь.

Ответы

▲ 1

Ответ из комментариев:

Для того, чтобы прибавить к календарному значению интервал, можно воспользоваться ключевым словом INTERVAL, например, если дата хранится в поле created_at, получить дату спустя 3 месяца можно при помощи следующего запроса

SELECT
  created_at + INTERVAL 3 MONTH AS finished_at
FROM
  news

Извлечь актуальные для показа новости можно при помощи запроса

SELECT
  *
FROM
  news
WHERE
  NOW() >= created_at AND
  NOW() <= created_at + INTERVAL 3 MONTH