我需要从表中选择在 CURDATE() 和 6 周前之间添加了 date_add 的所有行。
请帮忙。
SELECT *
FROM mytable
WHERE date_added BETWEEN CURDATE() - INTERVAL 6 WEEK AND CURDATE()
SELECT *
FROM a_table
WHERE date_added BETWEEN DATE_SUB(CURDATE(), INTERVAL 6 WEEK) AND CURDATE()
SELECT * FROM table_name WHERE TO_DAYS(NOW()) - TO_DAYS(date_added) <= 42
SELECT * FROM table_name WHERE DATEDIFF(NOW(),date_added)<=42
如果您使用一年内的日期
select date_format(date, '%u') from tab
where (date_format(date, '%u')-date_format(now(), '%u'))>6
如果您使用不同年份的日期
您不必使用另一年的日期。您可以使用
select
date_format(date, '%u') from tab
where (date_format(date, '%u')-date_format(now(), '%u'))>6
and
date_format(date, '%u') from tab
where (date_format(date, '%Y')-date_format(now(), '%Y'))=0
如果需要,您可以使用连接优化查询。我想你知道怎么做