Как получить Timestamp минус 6 недель в MySQL?
У меня есть поле с именем timestamp
. Это последний раз, когда участник вошел в систему.
Я хочу включить предложение where в запрос для чего-то вроде
WHERE timestamp > todays date - 6 weeks
Как мне это сделать?
Я пытаюсь включить только пользователей, которые вошли в систему за последние 6 недель.
Спасибо
Ответы
Ответ 1
Я нахожу этот синтаксис более читабельным, чем date_sub
, но в любом случае работает.
WHERE timestamp >= NOW() - INTERVAL 6 WEEK
Если вы хотите "Сегодня" (полночь) вместо "сейчас" (текущее время), вы должны использовать этот
WHERE timestamp >= DATE(NOW()) - INTERVAL 6 WEEK
Ответ 2
where column>=date_sub(now(), interval 6 week)
Ответ 3
Эта ссылка показывает, как вы могли бы получить отметку времени вчера, используя формат DATE_ADD(CURDATE(), INTERVAL -1 DAY)
, поэтому ваш запрос, вероятно, будет:
WHERE timestamp > DATE_ADD(CURDATE(), INTERVAL -42 DAY)
Ответ 4
Вы можете использовать между и now()
:
select somevalue
from yourtable
where yourtimestamp between now() - interval 1 day and now()
Ответ 5
Удачи. Вы пробовали:
>= DATE_SUB(NOW(), INTERVAL 6 WEEK)