Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql从date_格式中减去两天_Mysql_Date_Compare - Fatal编程技术网

Mysql从date_格式中减去两天

Mysql从date_格式中减去两天,mysql,date,compare,Mysql,Date,Compare,我想获取日期比当前日期大两天的所有记录。我只想比较月份和日期。 这就是我尝试过的 select * from reminder where date_sub(date_format(Birthday,%m-%d),interval 2 day)=Date_Format(curdate(),'%m-%d'); 但它不会返回任何记录 例如,它应返回日期如下的所有记录: 1977-07-04 1984-07-04 1989-07-04 1995-07-04 日期\子函数需要一个日期。而是传递一个从

我想获取日期比当前日期大两天的所有记录。我只想比较月份和日期。 这就是我尝试过的

select * from reminder where date_sub(date_format(Birthday,%m-%d),interval 2 day)=Date_Format(curdate(),'%m-%d');
但它不会返回任何记录

例如,它应返回日期如下的所有记录:

1977-07-04
1984-07-04
1989-07-04
1995-07-04

日期\子函数需要一个日期。而是传递一个从date\u format函数获得的字符串。也许它想让它回到过去。但它不应该这样做

相反,您应该先执行日期算术,然后再转换为字符串:

 where date_format(date_sub(Birthday,interval 2 day),'%m-%d') = Date_Format(curdate(),'%m-%d')

将where子句移动到select
date\u子项(日期格式(生日,%m-%d),间隔2天),日期格式(curdate(),“%m-%d”)一秒钟并比较结果…看到什么了吗?我试过了。但是,它似乎没有返回任何东西是的..有效..非常感谢!!