首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >比较从MySql数据库中提取的字符串日期

问比较从MySql数据库中提取的字符串日期
EN

Stack Overflow用户
提问于 2011-08-21 23:38:34
回答 3查看 257关注 0票数 0

我在MySQL数据库中有一个关系,它以varchar的形式存储日期以及其他属性。它看起来像这样:

Answers answerId answer questionId date

我有一个web应用程序,其中用户将选择“从”和“到”日期,我将需要在提供的范围之间拉取相关答案。所以我的问题是,我如何实现一个php文件,它可以正确地查询数据库,提取所提供的日期之间的答案。

EN

回答 3

Stack Overflow用户

发布于 2011-08-21 23:45:13

如果date是YY-mm-dd格式(从最大到最低,带有前导零),则可以将其作为字符串进行比较(按字典顺序)

但是您应该对日期使用适当的数据类型(DATE、DATETIME、TIMESTAMP)

票数 1
EN

Stack Overflow用户

发布于 2011-08-21 23:59:58

这里有一个简单的解决方案:

您可以将日期(已存储在MySQL数据库中)转换为Unix time,并像比较任何数字一样对其进行比较。

e.g

代码语言:javascript
复制
$date1 =  strtotime("2010-11-12");  
$date2 =  strtotime("2010-11-14");  

只需比较一下$date1和$date2。

这是帮助您http://php.net/manual/en/function.strtotime.php的链接

票数 1
EN

Stack Overflow用户

发布于 2011-08-22 00:00:21

正如@RiaD所写的,您可以使用正确的日期类型。但是如果你不能改变类型,你应该使用STR_TO_DATE把Varchar字符串转换成DATETIME。

请参阅http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_str-to-date

因此,您的查询将如下所示

代码语言:javascript
复制
Select * from table
where STR_TO_DATE(field_name, 'YOUR_DATE_FORMAT') between start_date and end_date;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7139235

复制
相关文章

相似问题

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