2015-10-29 2 views
0

Я попытался найти фрагмент MySQL на Stackoverflow перед публикацией, но это ничего не значит.MySQL найти все строки ровно за неделю до этого с сегодняшнего дня

У меня есть код, где мне нужно отобразить все «предметы», которые были опубликованы через 8 дней. Так, например, мы 10-29-2015. MySQL вернет мне элементы с датой создания 10-21-2015. Предметы с 10-22-2015 не должны учитываться.

До сих пор моя логика запроса MySQL выглядит следующим образом:

SELECT * FROM my_table WHERE датировать старше 7 дней и ниже, чем 9 дней

В моей структуре MySQL, поле start_date имеет тип дата.

Я думаю, что лучший способ сделать это было бы сделать что-то вроде этого:

WHERE TODAY = start_date + 7 DAYS 

EDIT1: С данного комментария, мой запрос должен быть:

SELECT * FROM `my_table` WHERE `start_date` = CURDATE() - INTERVAL 8 DAY; 
+1

'ВЫБРАТЬ КУРДАТ() - ИНТЕРВАЛ 8 ДЕНЬ;' – Strawberry

ответ

1

Try:

WHERE `start_date` BETWEEN (NOW() - INTERVAL 9 DAY) AND (NOW() - INTERVAL 7 DAY) 
+0

OP выглядит только заинтересованным в вещах, которые ровно на 8 дней старый. – Strawberry

+0

Правильно. Я отредактирую это. –

+0

И start_date - тип данных DATE, так что это немного переборщик – Strawberry

Смежные вопросы