MYSQL SELECT记录早于1年前

Ale*_*ecu 13 php mysql date

我尝试从我的数据库中获取1年前所有记录的列表,expired_contract的字段有下一个信息.

expired_contract DATE NOT NULL
Run Code Online (Sandbox Code Playgroud)

所以它需要下一个格式的DATE:YEAR-MM-DD,接下来我有sql,我不能让它工作悲伤.

$sql = "SELECT * 
        FROM My_Contracte 
        WHERE expired_contract >= DATE_SUB(NOW(),INTERVAL 1 YEAR) 
        ORDER BY id_contract DESC";
Run Code Online (Sandbox Code Playgroud)

我尝试了很多"WHERE"命令但没有按预期工作.你能帮我搞定吗?我正在寻找约5小时,我需要确切的命令才能使它工作.

$ sql给了我一些东西,但是错了,我得到的日期如:2015-10-01,2016-10-01和2014-09-30之类的日期没有出现.

基本上我想显示日期:

如果今天是2015-10-01我想查看超过1年前的日期,那么从2014-09-30开始,并且没有显示2015-10-01,2016-10-01之类的日期.

也许我必须在数据库中编辑一些东西?

寻求你的帮助,谢谢!

Jen*_*ens 18

你必须使用低于而不是更大或等于:

$sql = "SELECT * FROM My_Contracte WHERE expired_contract < DATE_SUB(NOW(),INTERVAL 1 YEAR) 
Run Code Online (Sandbox Code Playgroud)