php - 在 mysql where 子句之间不起作用

标签 php mysql date where-clause between

我试图在 where 子句中使用 BETWEEN 从日期范围中选择数据,但它没有返回正确的结果。日期字段的格式为 'mm/dd/YYYY' 类型为 varchar 我的查询,

select * from time_track where track_date between '01/01/2015' and '01/21/2015'

但结果包含 2014 年的数据。

谁能帮帮我

最佳答案

您需要将日期字符串转换为实际日期

select * from time_track 
where STR_TO_DATE(track_date ,'%d/%m/%Y') between '2015-01-01' and '2015-01-21'

或者甚至更好地为该列使用日期数据类型。

然后您不需要转换查询中的数据,并且可以使用索引使其运行速度超快。

关于php - 在 mysql where 子句之间不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28061316/

相关文章:

python - 在 Pandas 中组合单独的每日 CSV

php - 如何将 PHP 支持添加到 Visual Studio 2010?

php - 如何使用mysql和php获取排序行的位置

php - 如何使用 MySQL 以简单的增量更新 VARCHAR 值?

mysql - 将 Amazon RDS 表名重命名为大写字母引发错误

mysql - 限制特定字符后的字符数

date - Powershell 如何获取 2 个月前的最后一天

java - Mongodb Epoch Date - java 映射

php - 可以从命令执行 python,但从 php 调用它时出错

phpExcel,如何在excel中写上标