mySQL中的日期差异(按一定天数)

mySQL中的日期差异(按一定天数),mysql,Mysql,我的表格中有一个字段到期日。我想获得到期日比今天提前几天的记录,即到期日和CURDATE()的差值可以在-1到7之间(以天为单位) 备注:-1表示截止日期是昨天 从表中选择*,其中(到期日-CURDATE()=7) 提前感谢。:) 您可以使用DATEDIFF SELECT DATEDIFF('2014-11-30','2014-11-29') AS DiffDate 使用此查询将解决您的问题 SELECT * FROM TABLENAME WHERE due_date >= DAT

我的表格中有一个字段
到期日
。我想获得到期日比今天提前几天的记录,即
到期日
CURDATE()的差值可以在
-1
7
之间(以天为单位)

备注:
-1
表示
截止日期是昨天

从表中选择*,其中(到期日-CURDATE()=7)


提前感谢。:)

您可以使用
DATEDIFF

SELECT DATEDIFF('2014-11-30','2014-11-29') AS DiffDate

使用此查询将解决您的问题

SELECT * 
FROM  TABLENAME 
WHERE due_date >= DATE_ADD(curdate(),INTERVAL -1 DAY) 
AND due_date <= DATE_ADD(curdate(), INTERVAL 5 DAY);
选择*
从表名
其中到期日>=日期添加(curdate(),间隔-1天)
和到期日尝试以下查询:

SELECT * FROM table WHERE DATEDIFF(due_date, NOW()) <= 7 and DATEDIFF(due_date, NOW()) >= -1;
从表中选择*,其中DATEDIFF(due_date,NOW())=-1;

那么到底是什么问题呢?此语法不起作用请告诉我表名。
SQLSTATE[42000]:语法错误或访问冲突
我尝试了以下方法:
SELECT*从表中选择DATEDIFF(due\u date-CURDATE()>=-1)和DATEDIFF(due\u date-CURDATE())您做错了。函数是:
DATEDIFF(date1,date2)
。试试看:
从DATEDIFF(到期日,CURDATE())>=-1和DATEDIFF(到期日,CURDATE())所在的表中选择*它说:
语法错误或访问冲突:1305函数tablename.date\u diff不存在
,但它不适用于
-1
,也就是说,
到期日
昨天
让我来解决这个问题使用这个:date\u ADD(CURDATE(),INTERVAL-1天)与first compare dateIt一起显示:
语法错误或访问冲突:1305函数tablename.date\u diff不存在
将表更改为您的表名。