我试图在 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/