我需要从表中选择所有在CURDATE()和6周之前都有date_added的行。
请帮助。
答案 0 :(得分:3)
SELECT *
FROM mytable
WHERE date_added BETWEEN CURDATE() - INTERVAL 6 WEEK AND CURDATE()
答案 1 :(得分:2)
SELECT *
FROM a_table
WHERE date_added BETWEEN DATE_SUB(CURDATE(), INTERVAL 6 WEEK) AND CURDATE()
答案 2 :(得分:1)
SELECT * FROM table_name WHERE TO_DAYS(NOW()) - TO_DAYS(date_added) <= 42
答案 3 :(得分:0)
SELECT * FROM table_name WHERE DATEDIFF(NOW(),date_added)&lt; = 42
答案 4 :(得分:0)
如果您使用一年中的日期
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
如果需要,您可以使用join优化查询。我想你知道怎么做