Подтвердить что ты не робот

Как получить Timestamp минус 6 недель в MySQL?

У меня есть поле с именем timestamp. Это последний раз, когда участник вошел в систему. Я хочу включить предложение where в запрос для чего-то вроде

WHERE timestamp > todays date - 6 weeks

Как мне это сделать? Я пытаюсь включить только пользователей, которые вошли в систему за последние 6 недель.

Спасибо

4b9b3361

Ответ 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)