2

我需要从表中选择在 CURDATE() 和 6 周前之间添加了 date_add 的所有行。

请帮忙。

4

5 回答 5

3
SELECT  *
FROM    mytable
WHERE   date_added BETWEEN CURDATE() - INTERVAL 6 WEEK AND CURDATE()
于 2010-08-17T12:04:00.993 回答
2
SELECT *
FROM a_table
WHERE date_added BETWEEN DATE_SUB(CURDATE(), INTERVAL 6 WEEK) AND CURDATE()
于 2010-08-17T12:06:57.647 回答
1
SELECT * FROM table_name WHERE TO_DAYS(NOW()) - TO_DAYS(date_added) <= 42
于 2010-08-17T12:09:53.620 回答
0

SELECT * FROM table_name WHERE DATEDIFF(NOW(),date_added)<=42

于 2010-08-17T12:12:23.313 回答
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

如果需要,您可以使用连接优化查询。我想你知道怎么做

于 2010-08-18T06:19:30.053 回答