我试图获得的日期是小于今天或mysql数据库的到期日期,问题是日期字段类型是varchar,我的代码是下面我能够得到小于日期,但它不包括年,我需要的月/日/年作为输出,我没有自己的数据库我只有一个只读连接,只能做这种类型的查询,我使用PHP。
//i did now include the whole query code below is my query string.
$now = date('m/d/Y');
$sql = "SELECT * FROM todos WHERE DATE(due_date) < '$now'";
//other query here.我的输出低于今天的日期是2017年7月3日
06/02/2018
05/13/2016
05/23/2017
04/15/2015
04/24/2019看看我的输出,它设法得到了到期日期,但只按月,有些日期仍然有效或到期是明年,任何建议都会很好!提前感谢!
发布于 2017-07-03 06:42:36
转换为常规日期并仅使用数据库进行比较:
SELECT *
FROM todos
WHERE str_to_date(due_date, '%m/%d/%Y') < curdate();不需要从应用程序传入当前日期--除非您特别注意时区的问题。
永远不要将日期作为字符串进行比较。如果有必要,请确保您使用的是ISO格式的YYYY-MM-DD (带或不带连字符)。
https://stackoverflow.com/questions/44875799
复制相似问题