我有一个SQL语句,希望能选择至少比今天早七天的所有日期。
我使用的代码如下:
SELECT * FROM letter WHERE letter.l_date > DATE_SUB(CURDATE(), INTERVAL 7 DAY)
但是我没有得到期望的结果。我不明白我做错了什么。能帮我一个忙吗?
我有一个SQL语句,希望能选择至少比今天早七天的所有日期。
我使用的代码如下:
SELECT * FROM letter WHERE letter.l_date > DATE_SUB(CURDATE(), INTERVAL 7 DAY)
但是我没有得到期望的结果。我不明白我做错了什么。能帮我一个忙吗?
如果您需要最近7天的数据,请使用DATE(NOW()) - INTERVAL 7 DAY
SELECT * FROM letter WHERE letter.l_date > DATE(NOW()) - INTERVAL 7 DAY
如果您只想获取最近七天(包括今天)的数据,您需要指定l_date在当前时间之前:
SELECT * FROM letter WHERE letter.l_date < DATE_SUB(CURDATE(), INTERVAL 7 DAY)
你还可以使用DATEDIFF函数的另一种方式
SELECT * FROM letter WHERE DATEDIFF(NOW(), letter.l_date) > 7