首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有不同日期格式的php select查询

具有不同日期格式的php select查询
EN

Stack Overflow用户
提问于 2012-02-08 18:16:23
回答 7查看 953关注 0票数 0

我有一个名为$date的变量,其日期格式类似于2012-01-30。另一方面,我在mysql表中有一个名为srt_date_sortie的字段。该字段的格式类似于2012-01-30 11:31:00。我想选择$date和srt_date_sortie具有相同日期的所有记录,而不考虑时间。希望有人能帮上忙。

代码语言:javascript
复制
mysql_query("SELECT * FROM sorties WHERE srt_date_sortie = '$date'");

下面是我是如何构建$date的:

代码语言:javascript
复制
++$input;
$test=$input." days";
$date=date('Y-m-d', strtotime($test));

提前感谢您的回复。干杯。Marc

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2012-02-08 18:32:13

出于性能原因,您应该避免与DATE(srt_date_sortie)这样的派生列进行比较,因为这将阻止使用任何索引。这否定了已经发布的一些解决方案。

查询DATETIME字段的最有效方法是使用范围查询,如下所示:

代码语言:javascript
复制
mysql_query("SELECT * FROM sorties WHERE srt_date_sortie BETWEEN '$date 00:00:00' AND '$date 23:59:59'");

除非需要表中的所有行,否则SELECT *可能效率不高,只列出需要检索的行。

票数 2
EN

Stack Overflow用户

发布于 2012-02-08 18:20:51

将查询更改为日期、开始时间和结束时间的BETWEEN关键字。

票数 2
EN

Stack Overflow用户

发布于 2012-02-08 18:19:08

您可以在mysql中使用DATE_FORMAT格式化日期。

代码语言:javascript
复制
mysql_query("SELECT * FROM sorties 
             WHERE DATE_FORMAT(srt_date_sortie,'%Y-%m-%d') = '$date'");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9191324

复制
相关文章

相似问题

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