首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mysql获取类型为varchar的失效日期

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

Stack Overflow用户
提问于 2017-07-03 06:40:04
回答 1查看 47关注 0票数 1

我试图获得的日期是小于今天或mysql数据库的到期日期,问题是日期字段类型是varchar,我的代码是下面我能够得到小于日期,但它不包括年,我需要的月/日/年作为输出,我没有自己的数据库我只有一个只读连接,只能做这种类型的查询,我使用PHP。

代码语言:javascript
复制
//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日

代码语言:javascript
复制
06/02/2018
05/13/2016
05/23/2017
04/15/2015
04/24/2019

看看我的输出,它设法得到了到期日期,但只按月,有些日期仍然有效或到期是明年,任何建议都会很好!提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-03 06:42:36

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

代码语言:javascript
复制
SELECT *
FROM todos 
WHERE str_to_date(due_date, '%m/%d/%Y') < curdate();

不需要从应用程序传入当前日期--除非您特别注意时区的问题。

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44875799

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档