我试图从我的数据库中获取早于 1 年的所有记录的列表,expired_contract 字段有下一个信息。
expired_contract DATE NOT NULL
所以它采用下一种格式的 DATE:YEAR-MM-DD,接下来我有 sql,但我无法让它正常工作。
$sql = "SELECT *
FROM My_Contracte
WHERE expired_contract >= DATE_SUB(NOW(),INTERVAL 1 YEAR)
ORDER BY id_contract DESC";
我尝试了很多“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 这样的日期。
也许我必须在数据库中编辑一些东西?
寻求您的帮助,谢谢!
最佳答案
您必须使用小于而不是大于或等于:
$sql = "SELECT * FROM My_Contracte WHERE expired_contract < DATE_SUB(NOW(),INTERVAL 1 YEAR)
关于php - MYSQL SELECT 记录早于 1 年前,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32886852/