gpt4 book ai didi

php - Mysql获取类型为varchar的失效日期

转载 作者:行者123 更新时间:2023-11-28 23:13:35 25 4
gpt4 key购买 nike

我正在尝试获取小于今天的日期或 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.

我的输出低于今天的日期是 07/03/2017

06/02/2018
05/13/2016
05/23/2017
04/15/2015
04/24/2019

查看我的输出,它设法获得了截止日期,但只能按月计算,有些日期仍然有效,或者截止日期是明年,任何建议都很好!提前致谢!

最佳答案

转换为常规日期并仅使用数据库进行比较:

SELECT *
FROM todos
WHERE str_to_date(due_date, '%m/%d/%Y') < curdate();

无需从应用程序中传递当前日期 - 除非您特别意识到时区问题。

永远不要将日期作为字符串进行比较。好吧,如果必须,请确保您使用的是 ISO 格式 YYYY-MM-DD(带或不带连字符)。

关于php - Mysql获取类型为varchar的失效日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44875799/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com